原址

一、 dumpsys命令

1.1 服务列表

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

表一:

服务名 类名 功能
activity ActivityManagerService AMS相关信息
package PackageManagerService PMS相关信息
window WindowManagerService WMS相关信息
input InputManagerService IMS相关信息
power PowerManagerService PMS相关信息
batterystats BatterystatsService 电池统计信息
battery BatteryService 电池信息
alarm AlarmManagerService 闹钟信息
dropbox DropboxManagerService 调试相关
procstats ProcessStatsService 进程统计
cpuinfo CpuBinder CPU
meminfo MemBinder 内存
gfxinfo GraphicsBinder 图像
dbinfo DbBinder 数据库

表二:

服务名 功能
SurfaceFlinger 图像相关
appops app使用情况
permission 权限
processinfo 进程服务
batteryproperties 电池相关
audio 查看声音信息
netstats 查看网络统计信息
diskstats 查看空间free状态
jobscheduler 查看任务计划
wifi wifi信息
diskstats 磁盘情况
usagestats 用户使用情况
devicestoragemonitor 设备信息
。。。 。。。

未完待续…

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可选值

cmd 解释 缩写
activities activity状态 a
broadcasts 广播 b
intents pending intent状态 i
processes 进程 p
oom 内存溢出 o
services Service状态 s
service service状态(Client端)  
providers ContentProvider状态 prov
provider ContentProvider状态(Client端)  
associations tracked app associations as
permissions URI permission grant state perm
package package相关信息  
all 所有的activities信息  
recents recent activity状态 r
top top activity信息  
write 将状态持久化到存储区  
track-associations 使能association tracking  
untrack-associations 禁止和清空association tracking  
  • 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状态

由于本人最近刚刚换工作,个人下班时间严重缩减,迟迟没有更新博客,今天就先写到这里,后续再更新。

android dumpsys命令使用相关推荐

  1. Android dumpsys命令详细使用

    Android dumpsys命令详细使用 一.dumpsys命令介绍 1.命令说明 Dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息 命令格式: adb shell dumpsys ...

  2. android dumpsys 命令,Android Shell命令dumpsys

    dumpsys命令可以显示手机中所有应用程序的信息,并且也会给出现在手机的状态. 直接执行adb shell dumpsys会显示以下所有信息. SurfaceFlinger, accessibili ...

  3. android dumpsys 命令,Android dumpsys命令的使用方法

    0x01 查看dumpsys支持哪些服务: adb shell dumpsys -l 列出dumpsys支持的服务名字,例如(仅列出几个,全部服务有100多个) $ adb shell dumpsys ...

  4. android调试——教你用dumpsys命令调试

    "这一篇就聊聊dumpsys 比较常用的命令" dumpsys 服务 基本用法 adb shell dumpsys [-t timeout] [--help | -l | --sk ...

  5. Android调试系列之dumpsys命令

    Android调试系列之dumpsys命令 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/deta ...

  6. Android dumpsys常用命令

    adb shell dumpsys,默认打印出当前系统所有service信息,在后面可加上具体的服务名 需要列出当前运行的服务,可运行: adb shell dumpsys | findstr DUM ...

  7. Android实战技巧之十六:getprop与dumpsys命令

    Android设备连接PC后,我们可以通过adb命令完成绝大多数工作.下面借助getprop.dumpsys来了解一些系统相关信息. 一.getprop 此命令的原理很简单,就是从系统的各种配置文件中 ...

  8. Android实战技巧之十六 getprop与dumpsys命令

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Andr ...

  9. Android 进阶——Framework 核心之dumpsys命令浅析

    文章大纲 引言 一.Dumpsys 命令概述 二. Dumpsys命令语法详解 1.Package信息查询 2.Activity信息查询 3.网络信息查询 4.其他常用服务信息查询 三.Dumpsys ...

最新文章

  1. 有线网卡和无线网卡同时上网 优先级切换的设置方法
  2. 关于 ESP,EBP,EIP
  3. SAP Marketing 和SAP marketing Cloud的区别
  4. 在Centos7 更改Docker默认镜像和容器的位置
  5. 2017.9.28 约数研究 思考记录
  6. 为什么 CSS 这么难学?
  7. sql server只读_如何在SQL Server 2016中为可用性组配置只读路由
  8. 首次安装Linux,配置网络、换源一步到位
  9. Baumer相机Error Codes
  10. js 将input、textarea、Select等控件替换成标签(span)
  11. 1加6投屏_1加6投屏_6月的早餐,1杯牛奶加燕麦,营养健康又美味,饱腹感很强...
  12. fanuc系统md和mf区别_fanuc mf系统小技巧汇总
  13. 高项 双代号时标网络图
  14. 模型评估(误差平方和(SSE The sum of squares due to error))
  15. 如何复制他人csdn博客文章到自己博客下
  16. 给表格加上横向、纵向滚动条并对滚动条进行美化
  17. hive 转拼音udf_自定义UDF函数:将汉字转换成拼音
  18. Visual Studio Code 安装Vim插件后,复制(Ctrl C)等快捷键变成Insert 模式的问题
  19. 鼠标左键一点就自动删除问题
  20. matlab bar3 颜色,matlab中怎么控制柱状图标注的颜色?

热门文章

  1. mysql5.5.17源代码安装
  2. cocos2d-x 在vs2010下的环境配置
  3. javascript中引号嵌套
  4. FailSafe双机方案
  5. 有关视图状态(ViewState)的一些问题
  6. 欧美民用航空器 DO-178B标准
  7. PyTorch 和 TensorFlow 引领未来
  8. 词形变换和词干提取工具(英文)
  9. android Fragment详解三:实现Fragment的界面
  10. 时间序列模型matlab_平稳时间序列分析01---AR模型