美文网首页
dumpsys 命令用法

dumpsys 命令用法

作者: _Justin | 来源:发表于2016-09-30 11:38 被阅读672次

一、 dumpsys命令

1.1 服务列表

不同的Android系统版本支持的命令有所不同,可通过下面命令查看当前手机所支持的dump服务,先进入adb shell,再执行如下命令:dumpsys -l。 这些服务名或许你并看不出其调用的哪个服务,那么这时可以通过下面指令:service list。

表一:

Paste_Image.png Paste_Image.png

1.2 查询服务

通过下面命令可打印具体某一项服务:dumpsys <service>,其中便是前面表格中的服务名,比如:

dumpsys cpuinfo //打印一段时间进程的CPU使用百分比排行榜
dumpsys meminfo -h //查看dump内存的帮助信息
dumpsys package <packagename> //查看指定包的信息

系统服务非常之多,那么接下来将重点说说其中之一:dumpsys activity用法.

二、 Activity

dumpsys activity [options] [cmd]

下面分别说说options和cmd有哪些可选值

2.1 options

options可选值:
-a:dump所有;
-c:dump客户端;
-p [package]:dump指定的包名;
-h:输出帮助信息;

dumpsys activity等价于依次输出下面7条指令:

dumpsys activity intents
dumpsys activity broadcasts
dumpsys activity providers
dumpsys activity services
dumpsys activity recents
dumpsys activity activities
dumpsys activity processes

2.2 cmd

cmd可选值

Paste_Image.png

cmd:上表加粗项是指直接跟包名,另外services和providers还可以跟组件名;

缩写:基本都是cmd首字母或者前几个字母,用cmd和缩写是等效: dumpsys activity broadcasts dumpsys activity b //等效

三、场景

下面以新浪微博App作为实例,由于输出结果较多,每个场景截图只挑选部分重要的信息。

场景1:查询某个App所有的Service状态

dumpsys activity s com.sina.weibo

解读:

Service类名为com.morgoo.droidplugin.PluginManagerService;

运行在进程pid=7220,进程名为com.sina.weibo,uid=10094;

通过bindService连接该服务的进程pid=7306,进程名为com.sina.weibo:PluginP03。

当然还有packageName,baseDir(apk路径),dataDir(apk数据路径),createTime等各种信息。另外,新浪微博采用的是360开源的Android插件机制(com.morgoo.droidplugin),主要用于hotfix等功能。

场景2:查询某个App所有的广播状态

dumpsys activity s com.sina.weibo

解读:

android.intent.action.SCREEN_ON代表手机亮屏广播;

接收该广播的receiver有很多个,其中一个所在进程为pid=7220,进程名为com.sina.weibo

场景3:查询某个App所有的Activity状态

输出结果较多,尤其是View Hierarchy,下面截取部分:

dumpsys activity a com.sina.weibo

解读:

格式:TaskRecord{Hashcode #TaskId Affinity UserId=0 Activity个数=1};所以上图信息解析后就是TaskId=1802,Affinity=com.sina.weibo,当前Task中Activity个数为1。

effectiveUid为当前task所属Uid,mCallingUid为调用者Uid=u0a94,mCallingPackage为调用者包名,这里是com.sina.weibo;

realActivity:task中的已启动的Activity组件名com.sina.weibo/.SplashActivity。

场景4:查询某个App的进程状态

dumpsys activity p com.sina.weibo

  • 格式:ProcessRecord{Hashcode pid:进程名/uid},进程pid=7306,进程名为com.sina.weibo:PluginP03,uid=10094.
  • 该进程中还有Services,Connections, Providers, Receivers,可以看出该进程是没有Activity的进程。

还有很多场景,会用到不同的参数,这里就不再一一列举,建议大家多去尝试,慢慢地就更加熟练,再比如:

dumpsys activity top //当前界面app状态
dumpsys activity oom //进程oom状态

相关文章

  • dumpsys activity用法汇总

    一、dumpsys 命令用法: 可通过 dumpsys 命令查询系统服务的运行状态 (对象的成员变量属性值),命令...

  • dumpsys命令用法

    dumpsys命令功能很强大,能dump系统服务的各种状态,非常有必要熟悉该命令的用法以及含义。 一、 概述 1....

  • dumpsys 命令用法

    一、 dumpsys命令 1.1 服务列表 不同的Android系统版本支持的命令有所不同,可通过下面命令查看当前...

  • dumpsys 命令用法

    一、 dumpsys命令 1.1 服务列表 不同的Android系统版本支持的命令有所不同,可通过下面命令查看当前...

  • dumpsys命令用法

    duang~~~

  • dumpsys命令备忘

    ref:dumpsys命令用法https://www.cnblogs.com/JianXu/p/5376642.h...

  • Android 调试系列-Dumpsys实战篇

    dumpsys命令可以dump系统各种服务的状态,因此在平常的开发过程中如果很好的掌握dumpsys的用法,会事半...

  • adb shell dumpsys 命令用法

    出发点一: Android 引入了「任务栈」的概念,这个概念对于 Android 设备上的返回按键有极其重要的联系...

  • Android dumpsys 简述

    dumpsys命令功能很强大,能dump系统服务的各种状态,非常有必要熟悉该命令的用法以及含义。 一、 概述[ht...

  • Android内存的相关排查方法

    一、dumpsys meminfo命令 dumpsys meminfo 是Android系统提供的查询内存命令,用...

网友评论

      本文标题:dumpsys 命令用法

      本文链接:https://www.haomeiwen.com/subject/uuwlyttx.html