app流量测试-Android自带统计功能

时间:2024-05-20 09:47:34

Android自带统计功能(统计流量总数值)

adb shell cat proc/uid_stat/{UID}/tcp_snd和tcp_rcv

UID是每个app安装时候分配的唯一编号用于识别该app.

tcp_snd:表示发送数据累计大小,单位是字节(上行或上传)

tcp_rcv:表示接收到的数据累计大小(下行或下载)。

具体步骤:
前提:安装被测APP到测试机,不启动APP
1、查看包名
adb shell pm list packages
app流量测试-Android自带统计功能
2、根据包名查看pid
adb shell ps|grep packageName
ps:Uid = 196+10000即app User后边的值+10000
app流量测试-Android自带统计功能

3、根据pid获取uid
adb shell cat /proc/pid/status
或者:adb shell cat /proc/23775/status |grep Uid

app流量测试-Android自带统计功能
4、adb shell cat /proc/net/xt_qtaguid/status|grep pid
ps:android4.0以上版本可以用adb shell cat proc/uid_stat/uid/tcp_snd和adb shell cat proc/uid_stat/uid/tcp_rcv来获取某个程序的上下行流量;而4.0以下版本要用proc/pid/net/dev来查看上下行流量。但是/proc/uid_stat/uid这种方式,在Android 6.0系统中部分厂商可能是做了某些修改,在proc目录下没有显示uid_stat文件夹。(我的手机就没有该目录)
提示:/system/bin/sh: cat: /proc/uid_stat/10196/tcp_rcv: No such file or directory
app流量测试-Android自带统计功能
根据uid区分app流量,具体到进程其中第6和8列为 rx_bytes(接收数据)和tx_bytes(传输数据)包含tcp,udp等所有网络流量传输的统计,一个uid可能对应多个 进程,所以这有两行流量是累加的就求和就行