android dumpsys命令使用
原址
一、 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命令使用相关推荐
- Android dumpsys命令详细使用
Android dumpsys命令详细使用 一.dumpsys命令介绍 1.命令说明 Dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息 命令格式: adb shell dumpsys ...
- android dumpsys 命令,Android Shell命令dumpsys
dumpsys命令可以显示手机中所有应用程序的信息,并且也会给出现在手机的状态. 直接执行adb shell dumpsys会显示以下所有信息. SurfaceFlinger, accessibili ...
- android dumpsys 命令,Android dumpsys命令的使用方法
0x01 查看dumpsys支持哪些服务: adb shell dumpsys -l 列出dumpsys支持的服务名字,例如(仅列出几个,全部服务有100多个) $ adb shell dumpsys ...
- android调试——教你用dumpsys命令调试
"这一篇就聊聊dumpsys 比较常用的命令" dumpsys 服务 基本用法 adb shell dumpsys [-t timeout] [--help | -l | --sk ...
- Android调试系列之dumpsys命令
Android调试系列之dumpsys命令 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/deta ...
- Android dumpsys常用命令
adb shell dumpsys,默认打印出当前系统所有service信息,在后面可加上具体的服务名 需要列出当前运行的服务,可运行: adb shell dumpsys | findstr DUM ...
- Android实战技巧之十六:getprop与dumpsys命令
Android设备连接PC后,我们可以通过adb命令完成绝大多数工作.下面借助getprop.dumpsys来了解一些系统相关信息. 一.getprop 此命令的原理很简单,就是从系统的各种配置文件中 ...
- Android实战技巧之十六 getprop与dumpsys命令
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Andr ...
- Android 进阶——Framework 核心之dumpsys命令浅析
文章大纲 引言 一.Dumpsys 命令概述 二. Dumpsys命令语法详解 1.Package信息查询 2.Activity信息查询 3.网络信息查询 4.其他常用服务信息查询 三.Dumpsys ...
最新文章
- 有线网卡和无线网卡同时上网 优先级切换的设置方法
- 关于 ESP,EBP,EIP
- SAP Marketing 和SAP marketing Cloud的区别
- 在Centos7 更改Docker默认镜像和容器的位置
- 2017.9.28 约数研究 思考记录
- 为什么 CSS 这么难学?
- sql server只读_如何在SQL Server 2016中为可用性组配置只读路由
- 首次安装Linux,配置网络、换源一步到位
- Baumer相机Error Codes
- js 将input、textarea、Select等控件替换成标签(span)
- 1加6投屏_1加6投屏_6月的早餐,1杯牛奶加燕麦,营养健康又美味,饱腹感很强...
- fanuc系统md和mf区别_fanuc mf系统小技巧汇总
- 高项 双代号时标网络图
- 模型评估(误差平方和(SSE The sum of squares due to error))
- 如何复制他人csdn博客文章到自己博客下
- 给表格加上横向、纵向滚动条并对滚动条进行美化
- hive 转拼音udf_自定义UDF函数:将汉字转换成拼音
- Visual Studio Code 安装Vim插件后,复制(Ctrl C)等快捷键变成Insert 模式的问题
- 鼠标左键一点就自动删除问题
- matlab bar3 颜色,matlab中怎么控制柱状图标注的颜色?