【android开发工具】之adb shell dumpsys

本文介绍如何使用adbshelldumpsys命令查看ServiceManager中注册的systemservice运行状态,并逐个更新每个systemservice的信息展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        adb shell dumpsys命令可以查看在ServiceManager中注册的system service的运行状况。在这里先把运行adb shell dumpsys之后所有的system service列出来,之后逐个更新每个system service的信息展示内容。

        system service 列表:

     SurfaceFlinger
  accessibility
  account
  activity
  alarm
  appwidget
  audio
  backup
  battery
  batteryinfo
  bluetooth
  bluetooth_a2dp
  clipboard
  commontime_management
  connectivity
  content
  country_detector
  cpuinfo
  dbinfo
  device_policy
  devicestoragemonitor
  diskstats
  display.hwcservice
  drm.drmManager
  dropbox
  entropy
  fmradio.stack
  gfxinfo
  hardware
  input
  input_method
  iphonesubinfo
  isms
  lbesec.loader.clientmanager
  lbesec.loader.com.android.phone
  lbesec.loader.system_server
  location
  lock_settings
  media.audio_flinger
  media.audio_policy
  media.camera
  media.gestures
  media.player
  meminfo
  miui.Firewall
  miui.clipserviceext
  miui.os.servicemanager
  miui.shell
  miui.usb.service
  mount
  netpolicy
  netstats
  network_management
  notification
  package
  permission
  phone
  power
  samplingprofiler
  scheduling_policy
  search
  secloader
  sensorservice
  serial
  servicediscovery
  simphonebook
  sip
  statusbar
  telephony.registry
  textservices
  throttle
  uimode
  updatelock
  usagestats
  usb
  vibrator
  wallpaper
  wifi
  wifip2p
  window

### 3.1 `adb shell cmd` 的用途与特点 `adb shell cmd` 是 Android 提供的一种用于调用系统服务接口的命令行工具。它允许用户通过 ADB 向系统服务发送命令,从而执行特定操作。例如: ```bash adb shell cmd package compile -m interpret-only -f com.example.app ``` 该命令用于设置应用的编译模式为解释执行,适用于性能调试或兼容性测试。`cmd` 命令通常用于触发服务行为,而不是查询状态。每个服务(如 `package`、`activity`、`window`)支持的命令和参数不同,可以通过 `adb shell cmd -h` 查看支持的命令列表[^1]。 `adb shell cmd` 的主要特点是**主动调用系统服务的功能接口**,通常用于执行操作,例如启动服务、触发编译、调整系统行为等。它适用于需要对系统行为进行干预或测试的场景。 --- ### 3.2 `adb shell dumpsys` 的用途与特点 `adb shell dumpsys` 用于**获取系统服务的当前状态信息**,是 Android 中用于调试和诊断系统状态的重要工具。它会向系统服务发送 `dump` 请求,并返回该服务的详细运行状态。例如: ```bash adb shell dumpsys activity activities ``` 该命令可查看当前所有 Activity 的状态信息,包括任务栈、生命周期状态等。类似地,`dumpsys package` 可用于查看应用包管理器的信息,如权限、组件等。[^2] `adb shell dumpsys` 的核心用途是**诊断系统状态**,常用于分析系统卡顿、内存占用、服务异常等问题。例如: ```bash adb shell dumpsys window ``` 可用于查看当前窗口管理器的状态,包括窗口层级、焦点状态、显示区域等信息,适用于 UI 显示问题的调试。[^4] --- ### 3.3 `adb shell cmd` 与 `adb shell dumpsys` 的区别 | 特性 | `adb shell cmd` | `adb shell dumpsys` | |------|------------------|---------------------| | **用途** | 调用系统服务功能接口,执行特定操作 | 获取系统服务当前状态信息 | | **作用方式** | 触发服务执行某个操作 | 查询服务的运行状态 | | **典型使用场景** | 启动 Activity、设置编译模式、控制窗口行为 | 分析系统状态、调试 ANR、查看组件信息 | | **命令格式** | `cmd <service> <command> [arguments]` | `dumpsys <service> [options]` | | **是否修改系统状态** | 是,通常用于执行操作 | 否,仅用于查询状态 | | **输出内容** | 执行结果或状态反馈 | 服务当前的详细运行状态 | 例如,在调试应用编译行为时,`cmd package` 可以用于设置应用为解释执行模式,而 `dumpsys package` 则用于查看当前应用的安装状态和权限信息。[^1] --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值