使用ADB进行流量统计

流量测试的原理:在安卓手机上,应用的网络流量数据都会保存在系统的/proc/uid_stat/$UID/tcp_rcv 和/proc/uid_stat/$UID/tcp_snd两个文件夹里面,一个是请求耗费的流量,一个是接受的数据流量,这两个数据是由系统记录的,在我们启动某个软件的时候,系统会根据这个应用所占用的进程号pid在根目录下创建一个以这个命名的文件夹,在文件夹的下面有存有UID的文件,如果想了解一下PID和UID的话可以看下下面这篇博客:

http://blog.csdn.net/vshuang/article/details/43639211

在这里就不多讲了。根据上面的信息,我们就可以非常容易地得到应用使用所耗费的流量的相关信息了。下面是具体的操作步骤:

(1)、查看当前应用的UID:adb shell ps | grep “你想测试的应用的包名”


即可出现下面的信息,第二个就是你的应用的PID,

(1)、执行adb pull /proc/$pid/status ,在status文件里面存储的就是UID。

(2)、执行adb pull /proc/$UID/tcp/rcv 和adb pull /proc/uid_stat/$UID/tcp_snd,记得把其中的$UID替换成自己应用的UID,这样子我们就可以拿到请求数据耗费的流量和收到的的流量了

这次研究性能监控的脚本收获很大,adb真的好强大,基本上这套工具都是通过adb相关的命令来实现相应的功能的,在找资料的时候看到下面这篇文章,很不错,推荐。

http://blog.csdn.net/kittyboy0001/article/details/38539045


你可能感兴趣的:(Android开发)