Android-世界的活点地图-dumpsys(Android-Detail-工具)

以上来自 知乎 Freeman 的回答

dumpsys 常用语法

adb shell dumpsys [-t timeout] [--help | -l | --skip services | service [arguments] | -c | -h]

下表列出了使用 dumpsys 时的可用选项。

选项 说明
-t timeout 指定超时期限(秒)。如果未指定,默认值为 10 秒。
–help 输出 dumpsys 工具的帮助文本。
-l 输出可与 dumpsys 配合使用的系统服务的完整列表。
–skip services 指定您不希望包含在输出中的服务。
service [arguments] 指定您希望输出的服务。某些服务可能允许您传递可选参数。您可以通过将 -h选项与服务名称一起传递来了解这些可选参数,如下所示:adb shell dumpsys procstats -h
-c 指定某些服务时,附加此选项能以计算机可读的格式输出数据。
-h 对于某些服务,附加此选项可查看该服务的帮助文本和其他选项。

dumpsys 原理

dumpsys 命令源码来自 frameworks/native/cmds/dumpsys/dumpsys.cpp

Android-世界的活点地图-dumpsys(Android-Detail-工具)

Android-世界的活点地图-dumpsys(Android-Detail-工具)

dumpsys 主要做了以下几件事:

  • 获取 ServiceManager 对象 sm_
  • 使用 sm_ 的 listService() 获取系统Android-世界的活点地图-dumpsys(Android-Detail-工具)
    所有向 ServiceManager 注册过的服务
  • 使用 sm_ 的 checkService() 获取指定服务
  • 调用 service 远程服务中的 dump() 方法输出相应的信息

简单来讲,dumpsys 通过用户输入命令中的 service 名称,使用 checkService() 获取指定 service ,并调用其远程服务中的 dump() 方法来输出相应的信息。

上一篇:项目环境搭建,数据库,以及Swagger2介绍(二)


下一篇:关于 vmware 遇到的问题