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>
相关推荐
风流 少年3 天前
mysql mcp
数据库·mysql·adb
轩情吖4 天前
MySQL初识
android·数据库·sql·mysql·adb·存储引擎
lucky67076 天前
Laravel6.x新特性全解析
数据库·mysql·adb
秋氘渔6 天前
MySQL EXPLAIN命令详解:SQL查询性能分析与优化指南(基础篇)
sql·mysql·adb
半桔6 天前
【MySQL数据库】SQL 查询封神之路:步步拆解核心操作,手把手帮你解锁高阶玩法
linux·数据库·sql·mysql·adb·oracle
桂花很香,旭很美7 天前
ADB 安卓实战手册
android·adb
limingade10 天前
ADB应用浅析-普通手机app不依赖电脑如何获取ADB权限
adb·智能手机·android应用·手机无线调试adb·手机adb抓取屏幕画面·无线调试抓屏·adb授权
limingade10 天前
重启手机后-自动领金币app如何独自取到ADB权限进行手机操作
物联网·adb·智能手机·ocr识别手机广告·adb自动关闭广告·手机adb授权·自动领金币app
·云扬·10 天前
MySQL基于位点的主从复制完整部署指南
android·mysql·adb