概述
日常android开发中,难免需要抓包,抓包的方式有很多,比如charles, stetho,Fiddler。
此前使用的最多的是Fiddler,不过Fiddler使用时需要下载专门的软件,还需要调试等等,比较麻烦。所以这里看看Android Studio中带的Android profiler的抓包功能。
使用:
打开Android profiler窗口的步骤:
1. 点击View -> Tool Windows -> profiler。
2.打开profiler之后,出现如下图所示的窗口。
窗口中:
1.表示目前的进程。
2.表示可以选择不同的进程。
3.表示流量的监控时间线。
此时点击3区域:
然后再点击此图中的1区域,这里的折线图表示流量值。表示这个时间段有网络请求发生。
点击有流量值的位置后会出现图中2区域的内容,此处是图中1区域发起的网络请求。
在2区域中选择你想要查看的网络请求,会出现图中3区域的内容。
3区域包含了此次请求的所有信息以及返回值。
至此,我们就可以查看到网络请求的所有数据,完成数据分析。
注意事项:
当你在profiler窗口中看到“Advanced profiling is unavailable for the selected process”时,则需要在运行配置中启用高级分析,不然不会看到上述步骤中的内容。
此处详细说一下启用高级分析后包括的内容和步骤:
高级分析工具提供的功能包括:
1.Event时间线(所有分析器窗口中均有)
2.分配对象数量(Memory Profiler中)
3.垃圾回收Event(Memory Profiler中)
4.有关所有传输的文件的详情(Network Profiler中)
此处我们需要的功能就是第四点。
启用高级分析的步骤:
1.选择Run -> EditConfigurations.
2.在左侧窗口中选择应用模块。
3.点击Profiling标签,然后勾选Enable advanced profiling。
完成运行配置后,运行一遍项目,则就可以使用该功能。
启用高级分析的注意事项:
高级分析会减缓你的构建速度,所以仅当你想要开始分析应用时才启用此功能。
问题:
目前有一个问题尚未解决:
使用profiler查看返回的json时,会返现里面的汉字都是乱码,目前不能解决。