此文非原创,实为整理多篇帖子。
测试主体方法,参考了 https://testerhome.com/topics/2643
涉及应用最低支持版本为Android 4.0,采用方法为其中Android 2.2之后的对应方法。
主要步骤为:
adb shell ps | findstr <应用包名> //获取应用pid adb shell cat /proc/<pid>/status | findstr Uid //获取pid对应uid adb shell cat /proc/net/xt_qtaguid/stats | findstr <uid> //获取流量信息
其实有个毛病,就是每个命令执行完记不住各字段的含义,逐个整理之。
- adb shell ps
- adb shell cat /proc/<pid>/status
网搜/proc文件,可以发现这是沿用了linux中的配置,来源:http://man7.org/linux/man-pages/man5/proc.5.html
- adb shell cat /proc/net/xt_qtaguid/stats
来源:http://blog.csdn.net/focusjava/article/details/52195001
其他字段这里亦有讲解:http://www.nmhjw.cn/page/blog_csdn_net/focusjava/article/details/52195001
根据uid查到筛选出来对应行,取其中第二列为0x0的行,取其中的第六列和第八列相加即为此时到开机期间所消耗的流量总数;
若要计算某个测试期间所消耗流量,可在执行前计算一次,执行后计算一次,求差值;
应用中埋点获取流量数据是通过Android自带TrafficStats实现