###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连接及状态信息