You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法使用JMeter录制Flutter应用请求的问题求助

解决JMeter/Blazemeter无法录制Android APK应用请求的问题

以下是针对你的场景可尝试的排查和解决步骤:

  • 确认模拟器代理为全局生效
    进入模拟器设置→网络和互联网→WiFi,长按当前连接的网络选择「修改网络」,进入高级选项设置手动代理(填写JMeter所在机器的IP和录制端口)。确保代理设置是全局覆盖所有应用,而非仅浏览器生效。

  • 排查APK是否绕过系统代理
    部分应用会通过代码硬编码绕过代理(比如设置Proxy.NO_PROXY),或使用OkHttp等网络库时默认不走系统代理。可通过adb shell dumpsys netstats | grep <你的应用包名>命令查看应用的网络代理状态,判断是否存在绕过行为。

  • 将JMeter证书安装到系统信任区
    Android 7及以上版本,用户手动安装的证书默认仅被浏览器信任,应用无法识别。需将JMeter生成的ApacheJMeterTemporaryRootCA.crt证书安装到系统证书目录:

    1. 用adb push ApacheJMeterTemporaryRootCA.crt /sdcard/将证书推送到模拟器;
    2. 进入模拟器设置→安全→加密与凭据→从存储安装,找到证书文件并命名,选择「VPN和应用」用途(部分模拟器标注为「系统」);
    3. API 34模拟器可能需要root权限才能完成系统证书安装,若未root可尝试使用Magisk等工具辅助。
  • 检查JMeter录制的URL规则
    打开JMeter的HTTP(S) Test Script Recorder,查看「URL Patterns to Include」和「URL Patterns to Exclude」配置,确保应用的目标API域名不在排除列表中,且包含规则覆盖了应用请求的URL格式。

  • 确认应用使用的协议类型
    若应用使用WebSocket、gRPC或自定义协议,JMeter默认的HTTP录制器无法捕获此类流量。可使用Wireshark抓包确认应用的网络协议类型,再选择对应工具或插件处理。

  • 验证网络连通性与防火墙设置
    确保JMeter所在机器和模拟器处于同一局域网,且防火墙未拦截模拟器到JMeter录制端口的流量。可在模拟器浏览器中访问http://<JMeter机器IP>:<录制端口>,若能看到JMeter录制页面,说明网络连通正常。

内容的提问来源于stack exchange,提问作者Peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 16:54:53