可通过 adb shell dumpsys 命令获取系统服务状态信息。
dumpsys是Android系统提供的一个命令行工具,用于获取系统服务的状态信息。通过dumpsys命令,我们可以获取到关于活动管理器(Activity Manager)、窗口管理器(Window Manager)、电池管理器(Battery Manager)等各种系统服务的详细信息。
直接运行 adb shell dumpsys 会打印出当前系统所有服务信息,可在后面加上具体的服务名。可用的服务名可以通过-l打印,数量非常多,有 200+ 个。
常用选项:
-h:输出帮助文档,仅部分命令支持
adb shell dumpsys activity
查看组件信息,支持-h
dumpsys activity package-name:查看指定应用的 activity 信息(应用必须是启动状态)
dumpsys activity package-name | grep DecorView -A500:查看 activity 的布局结构信息.View Hierarchy: view的层次结构
dumpsys activity a:activity stack state 从顶部到底部打印 TaskRecord(activity) 信息,包含:当前生命周期、包、className、被谁启动的、进程名、intent、启动模式等
dumpsys activity top:dump the top activity
dumpsys activity top | grep ACTIVITY:查看所有应用的栈顶 activity
dumpsys activity top | grep TASK:查看所有 Task
dumpsys activity r | grep ActivityRecord:查看近期的 activity
dumpsys activity o :获取OOM等级信息,home进程、上一次的进程内容
dumpsys activity p [PACKAGE_NAME] 打印指定包创建的进程信息,包含:
dumpsys activity activities 该命令也能获取到activity是被哪个应用启动的,activity所处的生命周期状态
dumpsys activity lastanr 打印 ANR list信息
adb shell dumpsys package
查看安装包信息,支持-h
dumpsys package package-name:查看应用安装包信息
dumpsys package package-name | grep -i 'Permission':查看权限信息
dumpsys package package-name | grep -i 'path':查看安装信息
dumpsys other
dumpsys meminfo package-name:查看指定应用的内存占用信息,支持-h
dumpsys cpuinfo | grep -E 'CPU usage|system_server|package-name':查看指定应用 cpu 使用信息
dumpsys display | grep DisplayDeviceInfo:获取设备分辨率等屏幕信息
dumpsys window | grep mCurrentFocus:查看当前 activity