通过adb获取网络/数据使用情况

时间:2013-07-15 12:19:08

标签: android networking adb

我想知道应用程序在通过adb / adb shell运行2.3的Android手机上发送和接收的数据量

我找到的最接近的线程就是这个

Tracking an application's network statistics (netstats) using ADB

但它对我不起作用。

理想情况下,我希望查看给定应用程序的网络统计信息,并了解如何根据需要擦除/重置这些统计信息。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果使用adb / adb shell不是必要条件,您可以使用trafficStats课程计算设备中安装的不同应用的互联网使用情况

       final PackageManager pm = getPackageManager();
        // get a list of installed apps.
        List<ApplicationInfo> packages = pm
                .getInstalledApplications(PackageManager.GET_META_DATA);

        // loop through the list of installed packages and see if the selected
        // app is in the list
        for (ApplicationInfo packageInfo : packages) {

        // get the UID for the selected app
        UID = packageInfo.uid;
          //internet usage for particular app(sent and received) 
        long recived = TrafficStats.getUidRxBytes(UID);
        long send = TrafficStats.getUidTxBytes(UID);


        }

仅适用于您的应用的互联网使用情况:

receivedMbs = (double) TrafficStats.getUidRxBytes(android.os.Process
                .myUid()) / (1024 * 1024);
sentMbs = (double) TrafficStats.getUidTxBytes(android.os.Process
                .myUid()) / (1024 * 1024);

相关链接:

TrafficStats Api android and calculation of daily data usage

traffic stats example

希望它有所帮助。

答案 1 :(得分:0)

echo $(($(adb shell ifconfig rmnet_mhi0|grep "RX bytes"|cut -d ":" -f 2|cut -d " " -f 1)/1024)) Mb

但这是自上次重新启动或上次连接以来。

或:https://gist.github.com/Zibri/387f0bd0acf09f71384ce78dd45aa058

#!/bin/bash
# Get android network usage statistics from phone.
# by Zibri
function getUsage () 
{ 
    rb=0;
    tb=0;
    for a in $(adb shell dumpsys netstats|grep "rb="|cut -d "=" -f 3|cut -d " " -f 1);
    do
        rb=$((rb+a/1024));
    done;
    rb=$((rb/2));
    for a in $(adb shell dumpsys netstats|grep "rb="|cut -d "=" -f 5|cut -d " " -f 1);
    do
        tb=$((tb+a/1024));
    done;
    tb=$((tb/2));
    echo RX: $rb Kb TX: $tb Kb
    echo Total: $(((rb+tb)/1024)) Mb
};
getUsage

为您提供与设置/数据使用菜单中相同的号码。
 (就我而言,这就是我所需要的。)