Android使用adb命令查看APP数据流量使用情况

时间:2024-04-17 08:02:22

1. 在Android系统中,"/proc/net/xt_qtaguid/stats"这个文件里储存着各个应用的流量信息,统计流量的时候可以用到这个文件。


   首先获取待测应用的userId
   adb shell dumpsys package 【包名】  |    findstr userId

2.获取流量
android4.0以上版本可以用/proc/uid_stat/$uid/tcp_rcv和/proc/uid_stat/$uid/tcp_snd来获取某个程序的上下行流量;而4.0以下版本要用cat/proc/$pid/net/dev来查看上下行流量。uid和pid的关系,可以从/data/system/packages.list这个文件中获取,但是/proc/uid_stat/$uid这种方式,在Android 6.0系统中部分厂商可能是做了某些修改,在proc目录下没有显示uid_stat文件夹。

获取Android(Linux)流量信息:
在Linux系统有3个地方保存流量统计文件,对于Android系统同样也适用:

(1)在/proc/net/dev下可以查看各个网络接口的收发流量  (等同adb shell cat /proc/pid/net/dev,adbshell cat /sys/class/net/wlan0/statistics/rx_bytes);

(2)在/sys/class/net/下可以找到相关类别(如wlan0)的目录.在其子目录statistics下游rxbytes和txbytes记录收发流量;

(3)在/proc/uid_stat/{uid}/tcp_rcv记录该uid应用下载流量字节,/proc/uid_stat/{uid}/tcp_snd有该uid应用上传流量字节;

介绍5个地方统计的流量异同点如下:


推荐使用顺序:D > E > C > A> B

推荐D和E(其他的方法自己可以根据提示的adb命令进行练习)