Android Studio Electric Eel及后续版本Network Inspector能否导出数据?
Android Studio Electric Eel 导出Network Inspector数据为HAR文件的可行方法
你说得没错,Android Studio Electric Eel(2022.1.1 Patch 2)的Network Inspector确实没有直接导出HAR文件的功能,不过有几个可行的替代方案:
方法1:通过adb日志导出并转换为HAR
- 连接测试设备到电脑,确保
adb能正常识别设备 - 执行命令开启网络日志输出(以OkHttp为例,其他网络库可调整对应日志标签):
adb shell setprop log.tag.OkHttp DEBUG - 启动APP,完成需要捕获的网络操作
- 将设备日志导出到本地文件:
adb logcat -d > network_logs.txt - 用自定义脚本(比如Python)解析日志中的请求、响应细节,生成符合HAR规范的JSON文件。你可以依据HAR的官方格式定义,提取日志中的URL、请求方法、头信息、响应状态等字段,构建对应的结构。
方法2:通过OkHttp拦截器直接生成HAR
如果你的APP使用OkHttp作为网络库,可以添加拦截器直接生成HAR文件:
- 在OkHttpClient的构建代码中添加自定义拦截器:
OkHttpClient client = new OkHttpClient.Builder() .addInterceptor(new HarGeneratorInterceptor()) .build(); - 实现
HarGeneratorInterceptor:在intercept方法中,记录每个请求的完整信息(包括请求URL、请求体、响应头、响应体、耗时等),并按照HAR的JSON格式写入到APP的存储目录,之后再通过adb pull命令将文件导出到电脑。
方法3:导出Profiler的CSV日志再转换
Android Studio Profiler的Network模块支持导出CSV格式的网络日志,你可以将其转换为HAR:
- 打开Android Studio,启动Profiler并连接到你的APP
- 切换到Network标签,开始录制网络请求
- 完成操作后,点击右上角的导出图标,将日志保存为CSV文件
- 使用本地转换工具(比如Python脚本)将CSV中的字段映射到HAR格式的对应字段,生成HAR文件。
内容的提问来源于stack exchange,提问作者Brian Cooley
相关产品推荐
相关产品推荐

