dumpsys工具使用

Android dumpsys SurfaceFlinger分析 对于分析一些显示问题,我们需要使用adb shell dumpsys SurfaceFlinger命令来获取SurfaceFlinger的dump信息,因此这里来详细讲解下SurfaceFlinger的dump信息。 Display identification data: //display信息 Display 19260441557360770 (HWC display 0): port=130 pnpId=QCM displayName="" //19260441557360770是H... 阅读详情

dumpsys工具使用

转自:http://blog.youkuaiyun.com/kevinx_xu/article/details/11846289

我们知道Android使用ServiceManager服务进程来管理系统所有的服务,在系统启动时,每个服务必须注册到ServiceManager进程中,那如何查看系统运行了那些服务呢?ServiceManager提供了listServices接口来罗列出系统注册的所有服务。Android提供了dumpsys工具来dump出所有的服务信息,通过以下命令可以查看系统注册的所有服务:

[java]  view plain copy
  1. adb shell dumpsys  
Currently running services:
  SurfaceFlinger
  country_detector
  cpuinfo
  dbinfo
  device_policy
  devicestoragemonitor
  diskstats
  drm.drmManager
  dropbox
  entropy
  fm
  gfxinfo
  hardware
  input
  isms
  location
  lock_settings
  meminfo
  network_management
  notification
  package
  permission
  phone
  power
  samplingprofiler
  scheduling_policy
  search
  sensorservice
  serial
  servicediscovery
  sim_manager
  simphonebook
  ...
-------------------------------------------------------------------------------
DUMP OF SERVICE SurfaceFlinger:
Visible layers (count = 4)

...

也可以dump指定服务信息:

[java]  view plain copy
  1. adb shell dumpsys SurfaceFlinger  
Visible layers (count = 4)
+ Layer 0x41ba5008 (com.android.settings/com.android.settings.SprdUsbSettings)
  Region transparentRegion (this=0x41ba51e4, count=0)
  Region transparentRegionScreen (this=0x41ba503c, count=0)
  Region visibleRegionScreen (this=0x41ba5018, count=0)
      z=    21005, pos=(0,0), size=( 480, 854), crop=(   0,  38, 480, 854), isOp
aque=1, needsDithering=0, invalidate=0, alpha=0x00, flags=0x00000001, tr=[1.00,
0.00][0.00, 1.00]
      client=0x41c14ee0, identity=7
      format= 2, activeBuffer=[ 480x 854: 480,  2], transform-hint=0x00, queued-
frames=0, mRefreshPending=0

...

dumpsys源码分析

dumpsys工具比较简单,就是调用ServiceManager服务的listServices来查询系统注册的所有服务,并且通过checkService接口来获取服务的Binder远程代理对象,使用每个服务的dump函数来打印该服务的相关信息。
frameworks\native\cmds\dumpsys\dumpsys.cpp
[java]  view plain copy
  1. int main(int argc, char* const argv[])  
  2. {  
  3.     signal(SIGPIPE, SIG_IGN);  
  4.     //取得ServiceManager服务的远程Binder代理对象  
  5.     sp<IServiceManager> sm = defaultServiceManager();  
  6.     fflush(stdout);  
  7.     if (sm == NULL) {  
  8.         ALOGE("Unable to get default service manager!");  
  9.         aerr << "dumpsys: Unable to get default service manager!" << endl;  
  10.         return 20;  
  11.     }  
  12.     Vector<String16> services;  
  13.     Vector<String16> args;  
  14.     //如果命令行参数只有1个  
  15.     if (argc == 1) {  
  16.             //使用ServiceManager服务的Binder远程代理对象查询所有的服务  
  17.         services = sm->listServices();  
  18.         services.sort(sort_func);  
  19.         args.add(String16("-a"));  
  20.     } else {  
  21.             //添加命令行指定的服务及参数  
  22.         services.add(String16(argv[1]));  
  23.         for (int i=2; i<argc; i++) {  
  24.             args.add(String16(argv[i]));  
  25.         }  
  26.     }  
  27.     //根据服务名称查找服务对应的Binder代理对象,如果存在,打印该服务  
  28.     const size_t N = services.size();  
  29.     if (N > 1) {  
  30.         // first print a list of the current services  
  31.         aout << "Currently running services:" << endl;  
  32.         for (size_t i=0; i<N; i++) {  
  33.             sp<IBinder> service = sm->checkService(services[i]);  
  34.             if (service != NULL) {  
  35.                 aout << "  " << services[i] << endl;  
  36.             }  
  37.         }  
  38.     }  
  39.     //调用服务的dump函数打印服务相关信息  
  40.     for (size_t i=0; i<N; i++) {  
  41.         sp<IBinder> service = sm->checkService(services[i]);  
  42.         if (service != NULL) {  
  43.             if (N > 1) {  
  44.                 aout << "------------------------------------------------------------"  
  45.                         "-------------------" << endl;  
  46.                 aout << "DUMP OF SERVICE " << services[i] << ":" << endl;  
  47.             }  
  48.             int err = service->dump(STDOUT_FILENO, args);  
  49.             if (err != 0) {  
  50.                 aerr << "Error dumping service info: (" << strerror(err)  
  51.                         << ") " << services[i] << endl;  
  52.             }  
  53.         } else {  
  54.             aerr << "Can't find service: " << services[i] << endl;  
  55.         }  
  56.     }  
  57.     return 0;  
  58. }  
dumpsys 工具详细介绍 dumpsys 是 Android 系统自带的命令行诊断工具,核心作用是获取系统服务(System Service)和应用的实时运行状态、资源使用情况及配置信息,无需 root 权限(大部分场景),是 Android 开发、测试及运维排查问题的 “瑞士军刀”。dumpsys 是 Android 系统诊断的核心工具,其优势在于 无需 root、轻量高效、信息全面。无论是开发阶段排查内存泄漏、调试 Activity 栈,还是测试阶段定位耗电异常、网络问题,dumpsys 都能提供关键数据支持。 阅读详情

相关推荐

Android abd shell dumpsys命令探究

Dumptime:2015年10月16日上午11:14:03。Dumptime:2015年10月16日上午11:18:17。dumpsysactivity用法。dumpsysalarm用法。

2501_90255792的博客 1258

Android dumpsys工具分析

dumpsys工具使用 我们知道Android使用ServiceManager服务进程来管理系统所有的服务,在系统启动时,每个服务必须注册到ServiceManager进程中,那如何查看系统运行了那些服务呢?ServiceManager提供了listServices接口来罗列出系统注册的所有服务。Android提供了dumpsys工具来dump出所有的服务信息,通过以下命令可以查看系统注册的所有...

架构设计 551

Android dumpsys工具的调试使用

dumpsys是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。可以使用从命令行调用dumpsys,获取在连接的设备上运行的所有系统服务的诊断输出。此输出通常比您想要的更详细,因此请使用此页面上的仅获取您所需的系统服务的输出。本页还介绍了如何使用dumpsys完成常见的任务,如检查输入、RAM、电池或网络诊断信息。

华南烹鱼宴 1435

理解adb错误:Can‘t find service: android.service.gatekeeper.IGateKeeperService

因为测试需要,使用如下命令:adb shell dumpsys > dumpsys0.txt,调用Android系统的dumpsys工具用于查看手机的系统服务信息,但是华为P10报错“Can't find service: android.service.gatekeeper.IGateKeeperService” 第一次执行这个命令,看到错误还是有点懵,然后执行了一系列命令,查看手机服务列表 发现服务列表里就是提示没有该服务,然后我去日志打印目录下查看我要输出的日志文件,发现是存在的,且我想

华科硕士,大厂打工中。编程问题咨询,请私我 1万+

Android命令行工具--dumpsys

​ dumpsys是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。可以使用Android 调试桥 (adb)从命令行调用dumpsys,获取在连接的设备上运行的所有系统服务的诊断输出。

安卓开发&音视频开发 1906

GD32 TLI+IPA实战:5分钟搞定RGB888屏幕显示,并开启2D图形加速

本文详细介绍了如何使用GD32微控制器的TLI和IPA功能快速驱动RGB888屏幕并开启2D图形加速。通过硬件配置、时序设置和显存管理,开发者可以高效实现图形界面渲染,并利用IPA加速器提升性能,适用于嵌入式GUI开发等场景。

weixin_29163797的博客 230

android中dumpsys函数介绍与使用

dumpsys是系统中重要的函数,我们来看看它如何使用,都能dump出来一些什么东西 首先我们来看看dumpsys的源码,在4.1中,它在framework/native目录下面 frameworks/native/cmds/dumpsys/dumpsys.cpp Cpp代码 if(argc==1){ services=sm->listServic...

拒绝背八股文 2238

YOLOv8中的C2f模块代码详解

在YOLOv8网络结构中,C2f模块(CSP Bottleneck with 2 Convolutions)是一个关键组件,用于实现跨阶段部分聚合

zzzyyy8的博客 3万+

[ERROR] Can't find messagefile '/monitor/mysql/share/mysql/errmsg.sys

报错信息:在使用 root 用户直接运行  #mysqld_safe mysql无法启动报错如下2018-03-02 16:29:06 27644 [Note]180302 16:29:06 mysqld_safe mysqld from pid file /monitor/mysql/data/service2.pid ended2018-03-02 16:29:03 27644 [ERROR]...

Lixora's DB Home 1483

卡方检验的隐藏逻辑:为什么正态分布的平方和如此重要?

本文深入探讨了卡方检验的核心逻辑,揭示了正态分布平方和在统计检验中的重要性。通过分析卡方分布与伽马分布的关系,以及实际应用案例,帮助读者理解卡方检验的原理、局限及高级应用场景,为数据分析提供有力工具。

3a9bq4r8t2y的博客 208

手把手教你用X-AnyLabeling实现医学图像标注:从SAM模型选择到多边形优化全流程

本文详细介绍了如何使用X-AnyLabeling平台结合Med-SAM等专业模型实现医学图像的高效标注。从环境配置、模型部署到实战工作流,涵盖智能辅助标注、低对比度解决方案及团队协作方案,帮助医疗从业者大幅提升标注效率与质量。特别适合处理CT/MRI等医学影像的复杂标注需求。

weixin_29251131的博客 456

android系统调试工具之dumpsys

1.概述 dumpsys是android系统里面的一个可执行文件。从名字来看,其主要作用是将当前android系统的一些信息dump出来,如activity、package等。 dumpsys是一个分析android设备问题、查看运行状态、使用情况等十分有效的工具。 查看所有支持的dump选项: dumpsys -l #此命令会将当前android系统所有运行的服务全部列出来 比如我们想...

lw6897的博客 3930

YOLO26原创优化:SPPF优化 | 新一代高效可形变卷积DCNv4如何做二次创新?高效结合SPPF

如何跟YOLO26结合:1) SPPF高效结合

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 357

dumpsys 使用

一、概述 用法简介 dumpsys 是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。可以使用下文所述的命令行选项仅获取您感兴趣的系统服务的输出。 使用方法 adb shell dumpsys [-t timeout] [--help | -l | --skip services | service [arguments] | -c | -h] 命令行选项 选项 说明 -t timeout 指定超时期限(秒)。如果未指定,默认值为 10 秒。 –help 输

soso密斯密斯的博客 1602

用 Docker 一键部署 SillyTavern酒馆 mac/windows/linux通用教程,我再也不手动折腾了!

本文介绍了如何使用 Docker 一键部署 SillyTavern 项目,适用于 Mac、Windows 和 Linux 系统。SillyTavern 是一个本地部署的大语言模型聊天界面,支持多种插件和扩展。文章详细说明了安装 Docker、拉取项目、启动容器、配置白名单、启用插件等步骤,并提供了常见问题的解决方法。通过 Docker 部署,用户可以避免繁琐的手动配置,快速搭建和运行 SillyTavern,适合希望简化部署流程的用户。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2622

基于Simulink进行步进电机的重复控制仿真建模

重复控制概述目的:通过引入一个周期延迟环节来补偿系统的周期性误差,从而提高系统对周期性参考信号或扰动的跟踪性能。方法内部模型原理:在控制器中嵌入一个与周期性信号相关的模型(例如周期延迟环节),以实现对周期性误差的零稳态误差控制。滤波器设计:为了避免高频噪声放大,通常会在重复控制器中加入低通滤波器。优势对周期性信号具有良好的跟踪性能。不需要精确的数学模型即可实现高性能控制。挑战:需要合理设计重复控制器的参数以避免系统不稳定。

amy_mhd的博客 268

Android 工具 dumpsys

官方文档: https://developer.android.google.cn/studio/command-line/dumpsys 我即将在这官方文档上画蛇添足了: 目录 dumpsys 语法 命令行选项 检查输入诊断 Event Hub 状态 Input Reader 状态 Input Dispatcher 状态 要考虑的事项 测试界面性能 dumpsys d...

编程到管理、技术到产品 867

CE电流法测试中的dBμV负值解析

传导发射(CE)电流法测试中出现的dBμV负值现象表明被测设备干扰电平低于1μV参考基准。这源于对数计算特性(小于1μV的电压转换后为负值)、设备优良的EMC设计(如滤波效果显著)及测试环境的影响(LISN隔离、屏蔽室低噪声)。负值虽不代表实际负电压,但反映干扰水平优于标准限值,为系统集成预留电磁裕度。工程应用中需结合设备灵敏度、环境背景噪声等因素综合分析,避免误判,这类数据可用于评估EMI设计冗余度。

硬核科技 298

Android dumpsys使用

dumpsys是一种重要的调试安卓系统的工具,通过它可以得知你想知道的系统服务的一些信息,如输入dumpsys cpuinfo就可以得到当前CPU的使用信息。

u012873121的博客 1948

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

dumpsys

dumpsys: android dumpsys实时查看各service状态https://blog.youkuaiyun.com/kc58236582/article/details/51159935 https://blog.youkuaiyun.com/wd229047557/article/details/88319358 adb命令(电池相关) https://www.jianshu.com/p/9636d17907b7

吉吉的博客 618

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

dumpsys相关解析

在新起的线程中,执行某个service的dump函数,如此我们就只要看某个service的dump函数实现就好了,注意我们这些处理逻辑目前都是在native层,但是我们知道安卓是建立在Binder通信的CS架构,该dump()函数的声明是在Binder类中的,也就是我们需要找到服务端的dump()函数的真正实现哪里,如果是dumpsys activity a,那么真正实现是在java层的ActivityManagerService中,其他服务同理。

Flying snow 1970

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Easy-Dumpsys 使用教程

Easy-Dumpsys 使用教程 1. 项目介绍 Easy-Dumpsys 是一个基于 Bash 脚本的工具,旨在简化 Android 开发者使用 adb shell dumpsys activity <package> 命令的输出。该工具将原本复杂且难以理解的 ADB 输出转换为易于阅读和操作的树形结构,帮助开发者快速定位和分析 Android 应用中的问题。 Easy-Dumps...

gitblog_00467的博客 1157

dumpsys使用详解

Dumpsys结构图:   实现方式: dumpsys的代码在mydroid/frameworks/base/cmds/dumpsys/dumpsys.cpp,所有的dump信息都是由重载了Binder中的dump函数的类来完成:         @Override         protected void dump(FileDescriptor fd, PrintW

敌测漏师 2万+

Android dumpsys介绍

dumpsys 是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。可以使用 Android 调试桥 (adb) 从命令行调用 dumpsys,获取在连接的设备上运行的所有系统服务的诊断输出。

佛祖保佑,永无巴戈。 1万+

dumpsys power 简介

Android电源管理服务(PowerManagerService)状态摘要:设备当前处于Dozing状态,电池已充满(100%),通过USB充电(mPlugType=2)。系统持有一个DOZE_WAKE_LOCK唤醒锁,由dream:doze持有4小时42分钟。屏幕超时设置为30分钟,省电模式未启用。设备配置支持屏保功能,但剧场模式未开启。无线充电检测器显示设备未处于无线充电状态。系统记录了2779个电源事件,包括唤醒锁操作。低功耗待机模式未激活,环境显示功能未被抑制。最后用户活动为触摸事件,持续约7.4

huibin147852369的专栏 4972
上一篇: Android之SurfaceView
下一篇: Java enum的用法详解
HabbyGe
博客等级 码龄16年 46粉丝 143原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值