adb之系统工具—dumpsys 命令

一、dumpsys是什么?

dumpsys 是一个在设备上运行的系统工具,它可以转储(dump)所有系统服务(System Services)的当前状态信息。

Android系统的每个核心功能(如活动、内存、电源、窗口等)都由一个独立的系统服务管理。
dumpsys 就是向这些服务询问其内部状态的"总调度员"。

它的强大之处在于:

  • 信息量巨大:输出信息极其详细,涵盖了系统运行的方方面面。
  • 无需Root:大多数调试信息在非Root设备上也可获取。
  • 实时快照:获取的是命令执行那一刻系统的完整状态快照。

基本命令格式:

复制代码
# 查看所有可用的系统服务
adb shell dumpsys -l
#转储特定系统服务的信息
adb shell dumpsys <service_name>

二、测试工程师必备的Service清单

dumpsys -l 会列出上百个服务,但我们只需关注测试中最有用的几个。

1) 内存分析 (dumpsys meminfo)命令:

复制代码
#查看所有进程的内存信息(信息量大)
adb shell dumpsys meminfo
#查看指定包名的应用的内存详情(最常用!)
adb shell dumpsys meminfo <PACKAGE_NAME>

2) 活动栈分析 (dumpsys activity)

命令(过滤是关键):

复制代码
#输出信息极多,必须过滤!
#查看当前聚焦的Activity(最常用)
adb shell dumpsys activity activities |grep -E "mCurrentFocus|mFocusedActivity"

#查看所有Activity的回退栈(Task)信息
adb shell dumpsys activity activities |grep -A 10 -B 2"TaskRecord"

Windows系统请注意:

grep 是一个在 Linux/Unix/macOS 等类 Unix 系统中才存在的文本搜索工具。而 Windows 系统的命令行环境默认没有这个命令。

需要现在 CMD 中输入:adb shell

然后,在出现的设备命令行 $ 或 # 后,输入:dumpsys activity activities | grep -E 'mCurrentFocus|mFocusedActivity'

3) 电源与耗电分析 (dumpsys batterystats)

测试场景: 应用耗电异常,如何提供证据?待机功耗高,是哪个Wake Lock在作祟?

命令(需要重置统计信息以获取干净数据):

复制代码
#重置电池统计信息
adb shell dumpsys batterystats --reset
#执行你的测试场景(例如,玩10分钟游戏)...
#导出耗电统计信息
adb shell dumpsys batterystats > batterystats.txt

更高级的分析:

Android提供了更强大的工具来生成HTML可视化报告:

复制代码
#生成Bug报告,包含详细的电源信息(操作较慢)
adb bugreport
#或者使用新版本命令生成HTML格式的电池分析报告
adb shell dumpsys batterystats --checkin

4) 窗口分析 (dumpsys window)

测试场景: 测试沉浸式状态栏、刘海屏适配、分屏模式、自由窗口模式时,如何确认窗口属性?
命令:

复制代码
#查看当前窗口信息,包含Display尺寸、刘海屏信息等
adb shell dumpsys window

#常用过滤:查看所有已连接的显示屏信息
adb shell dumpsys window |grep -E "Display|init"

#常用过滤:查看刘海屏(display cutout)信息
adb shell dumpsys window |grep -i cutout

5) 应用启动分析 (dumpsys package)

测试场景: 应用安装后有哪些权限?它注册了哪些组件(Activity/Service等)?
命令:

复制代码
#查看指定应用的详细信息,包含权限、组件等
adb shell dumpsys package <PACKAGE_NAME>
相关推荐
sjmaysee18 分钟前
CentOS7安装Mysql5.7(ARM64架构)
adb·架构
AtOR CUES14 小时前
MySQL——表操作及查询
android·mysql·adb
mOok ONSC16 小时前
mysql9.0windows安装
windows·adb
xxjj998a19 小时前
Laravel8.x核心特性详解
数据库·mysql·adb
TeDi TIVE1 天前
Linux下MySQL的简单使用
linux·mysql·adb
TeDi TIVE1 天前
MySQL四种备份表的方式
mysql·adb·oracle
rleS IONS1 天前
Linux系统离线部署MySQL详细教程(带每步骤图文教程)
linux·mysql·adb
计算机安禾1 天前
【Linux从入门到精通】第40篇:LAMP/LNMP环境一键部署脚本实战
android·linux·adb
xxjj998a1 天前
Laravel7.x核心特性全解析
数据库·mysql·adb
amIZ AUSK1 天前
MySQL5.7.44-winx64版本Windows Server下载安装教程图解
windows·adb