###1. dumpsys
Android使用ServiceManager服务进程来管理系统所有的服务,在系统启动时,每个服务必须注册到ServiceManager进程中,那如何查看系统运行了那些服务呢?ServiceManager提供了listServices接口来罗列出系统注册的所有服务, dumpsys工具比较简单,就是调用ServiceManager服务的listServices来查询系统注册的所有服务,并且通过checkService接口来获取服务的Binder远程代理对象,使用每个服务的dump()函数来打印该服务的相关信息
dumpsys源码在 frameworks\native\cmds\dumpsys\dumpsys.cpp
###2. 获取dumpsys支持的命令
执行
$ dumpsys
在输出的信息的开头, 列出了系统中正在运行的service,但是这样输出太多了, 因此, 可以使用
$ dumpsys | grep “DUMP OF SERVICE”
来进行过滤
###3. 支持dumpsys的service
acount
显示设备上所有用户的信息
Cpuinfo
可以显示每个进程在内核空间和用户空间的cpu占用率
Activity
用于查看 activity组件的信息,详细信息使用
$ dumpsys activity -h
获取帮助
appwidget
android窗口小部件的信息
audio
android音频组件信息
** battery**
android电池设备信息
connectivity
android网络连接状态及进程请求网络信息
content 查看android content provider相关的信息
device_policy
android设备政策
dropbox 系统崩溃的信息
input_method Android输入法信息
iphonesubinfo 手机制式及设备id
location
gps等位置信息
meminfo android进程实际物理内存占用情况
mount 加载的存储设备信息
network_management android网络流量管理信息
notification android通知栏广告信息
package
通过l、perm、perf、p等参数dump出package信息,还能够直接跟包名来dump出该包的具体信息
power 电源管理器的一些状态信息
sensorservice android传感器的一些状态信息
statusbar 显示状态栏相关的一些信息
telephony.registry
电话服务相关的信息
uimode ui mode service的状态信息
usagestats 各个app使用情况统计
wallpaper
壁纸信息
wifi
wifi连接及状态信息