Android提供的dumpsys工具可以用于查看感兴趣的系统服务信息与状态,手机连接电脑后可以直接命令行执行adb shell dumpsys 查看所有支持的Service但是这样输出的太多,可以通过dumpsys | grep "DUMP OF SERVICE" 仅显示主要的Service的信息
一、列出dumpsys所有支持命令
> adb shell$ dumpsys | grep "DUMP OF SERVICE"
以下是在我个人三星S3手机上的输出信息
C:\Windows\System32>adb shell[email protected]:/ $ dumpsys | grep "DUMP OF SERVICE"dumpsys | grep "DUMP OF SERVICE"DUMP OF SERVICE AtCmdFwd:DUMP OF SERVICE CustomFrequencyManagerService:DUMP OF SERVICE DirEncryptService:DUMP OF SERVICE Exynos.HWCService:DUMP OF SERVICE Exynos.IPService:DUMP OF SERVICE FMPlayer:DUMP OF SERVICE LEDService:DUMP OF SERVICE SecTVOutService:DUMP OF SERVICE SurfaceFlinger:DUMP OF SERVICE TvoutService_C:DUMP OF SERVICE accessibility:DUMP OF SERVICE account:DUMP OF SERVICE activity:DUMP OF SERVICE alarm:DUMP OF SERVICE android.security.keystore:DUMP OF SERVICE application_policy:DUMP OF SERVICE appops:DUMP OF SERVICE appwidget:DUMP OF SERVICE audio:DUMP OF SERVICE backup:DUMP OF SERVICE battery:DUMP OF SERVICE batteryinfo:DUMP OF SERVICE bluetooth_manager:DUMP OF SERVICE bluetooth_secure_mode_manager:DUMP OF SERVICE clipboard:DUMP OF SERVICE clipboardEx:DUMP OF SERVICE commontime_management:DUMP OF SERVICE connectivity:DUMP OF SERVICE container_service:DUMP OF SERVICE content:DUMP OF SERVICE country_detector:DUMP OF SERVICE cpuinfo:DUMP OF SERVICE dbinfo:DUMP OF SERVICE device_policy:DUMP OF SERVICE devicestoragemonitor:DUMP OF SERVICE diskstats:DUMP OF SERVICE display:DUMP OF SERVICE dreams:DUMP OF SERVICE drm.drmManager:DUMP OF SERVICE dropbox:DUMP OF SERVICE edmnativehelper:DUMP OF SERVICE enterprise_license_policy:DUMP OF SERVICE enterprise_policy:DUMP OF SERVICE entropy:DUMP OF SERVICE gfxinfo:DUMP OF SERVICE hardware:DUMP OF SERVICE harmony_eas_service:DUMP OF SERVICE input:DUMP OF SERVICE input_method:DUMP OF SERVICE iphonesubinfo:DUMP OF SERVICE isms:DUMP OF SERVICE license_log_service:DUMP OF SERVICE location:DUMP OF SERVICE lock_settings:DUMP OF SERVICE log_manager_service:DUMP OF SERVICE mdm.remotedesktop:DUMP OF SERVICE media.audio_flinger:DUMP OF SERVICE media.audio_policy:DUMP OF SERVICE media.camera:DUMP OF SERVICE media.player:DUMP OF SERVICE meminfo:DUMP OF SERVICE motion_recognition:DUMP OF SERVICE mount:DUMP OF SERVICE multiwindow:DUMP OF SERVICE netpolicy:DUMP OF SERVICE netstats:DUMP OF SERVICE network_management:DUMP OF SERVICE nfc:DUMP OF SERVICE nfccontroller:DUMP OF SERVICE notification:DUMP OF SERVICE package:DUMP OF SERVICE permission:DUMP OF SERVICE phone:DUMP OF SERVICE phone_restriction_policy:DUMP OF SERVICE phoneext:DUMP OF SERVICE power:DUMP OF SERVICE remoteinjection:DUMP OF SERVICE samplingprofiler:DUMP OF SERVICE samsung.smartfaceservice:DUMP OF SERVICE scheduling_policy:DUMP OF SERVICE search:DUMP OF SERVICE sec_analytics:DUMP OF SERVICE secontroller:DUMP OF SERVICE sensorservice:DUMP OF SERVICE serial:DUMP OF SERVICE servicediscovery:DUMP OF SERVICE simphonebook:DUMP OF SERVICE sip:DUMP OF SERVICE statusbar:DUMP OF SERVICE telephony.registry:DUMP OF SERVICE textservices:DUMP OF SERVICE tvoutservice:DUMP OF SERVICE uimode:DUMP OF SERVICE updatelock:DUMP OF SERVICE usagestats:DUMP OF SERVICE usb:DUMP OF SERVICE user:DUMP OF SERVICE vibrator:DUMP OF SERVICE voip:DUMP OF SERVICE wallpaper:DUMP OF SERVICE wfd:DUMP OF SERVICE wifi:DUMP OF SERVICE wifi_policy:DUMP OF SERVICE wifip2p:DUMP OF SERVICE window:
二、具体命令如何查看帮助
从上面可以看出Service非常多,“DUMP OF SERVICE”关键字后面的单词都可以直接通过 dumpsys + 单词 查看相关信息,具体每一个如何使用有一种通用的查看帮助的办法。
查看每一个命令的使用帮助,以下以meminfo 为例演示:
How to discover memory usage of my application in Android
android中dumpsys函数介绍与使用 (代码分析)
[email protected]:/ $ dumpsys meminfo -hdumpsys meminfo -hmeminfo dump options: [-a] [--oom] [process] -a: include all available information for each process. --oom: only show processes organized by oom adj.If [process] is specified it can be the name orpid of a specific process to 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信息 |
activity - 使用adb shell dumpsys检测Android的Activity任务栈
window - 通过adb shell dumpsys命令获取当前应用的component
statusbar - 找出广告通知属于哪个应用
dumpsys statusbar | grep notification=Notification
四、参考资料
Dumpsys (官方文档)How to discover memory usage of my application in Android
android中dumpsys函数介绍与使用 (代码分析)