在adb shell下可以使用,主要用来获取一些系统service的信息,也可以对这些服务做一些简单的控制。
首先是获得哪些service信息可以dump
- $ adb shell dumpsys | grep DUMP
-
DUMP OF SERVICE AtCmdFwd:
DUMP OF SERVICE SurfaceFlinger:
DUMP OF SERVICE accessibility:
DUMP OF SERVICE account:
DUMP OF SERVICE activity:
DUMP OF SERVICE alarm:
DUMP OF SERVICE appwidget:
DUMP OF SERVICE audio:
DUMP OF SERVICE backup:
DUMP OF SERVICE battery:
DUMP OF SERVICE batteryinfo:
DUMP OF SERVICE bluetooth:
DUMP OF SERVICE bluetooth_a2dp:
DUMP OF SERVICE clipboard:
....
然后就是具体获取某个服务的信息,比如电池使用信息:
- $ adb shell dumpsys batteryinfo
比如抓某个package的进程的memory使用情况:
- $ adb shell dumpsys meminfo YourPkg
再比如测试wifi功能,写个script脚本:
-
$ adb shell svc wifi enable # disable对应禁用wifi
- $ adb shell sleep 4
- $ adb shell dumpsys wifi > wifiEnable.txt
如果dumpsys不能用,检查你的manifest.xml是不是加了这个permission:
- android.permission.DUMP
名字 | 功能 |
account | 显示accounts信息 |
activity | 显示所有的activities的信息 |
cpuinfo | 显示CPU信息 |
window | 显示键盘,窗口和它们的关系 |
wifi | 显示wifi信息 |
batteryinfo $package_name | 电量信息及CPU 使用时长 |
package packagename | 获取安装包信息 |
usagestats | 每个界面启动的时间 |
statusbar | 显示状态栏相关的信息 |
meminfo |
内存信息(meminfo $package_name or $pid
使用程序的包名或者进程id显示内存信息)
|
diskstats | 磁盘相关信息 |
battery | 电池信息 |
alarm | 显示Alarm信息 |