当前位置: 首页 > news >正文

android ams调试指令介绍

ams提供了很多调试指令,包括组件管理、状态等,分为两大类:
1).am指令,形如 am xxx
2).dump指令,形如dumpsys activity xxx
源码位于:ActivityManagerShellCommand和ActivityManagerService

大家可以通过am -hdumpsys activity -h来查看命令用法,支持的命令很多的,下面介绍一些常用的命令。

组件管理

启动activity

通过am start/am start-activity来启动activity

eg1: 通过component启动

am start -n am start -n com.android.settings/.Settings

eg2: 通过action启动

am start -a com.android.intent.action.SHOW_BRIGHTNESS_DIALOG

eg2: 通过url启动

am start -d "http://www.bing.com" [-a android.intent.action.VIEW]

eg2: 带参数

  • 通过url启动,参数加在url中,key1=value2&=key2=value2,如"https://cn.bing.com/search?q=hello"
am start -d "https://cn.bing.com/search?q=hello" -a android.intent.action.VIEW
  • 不通过url启动,参数加在后面,如string类型参数–es key=value

启动service/停止service

通过am start-service/am startservice/am start-foreground-service/来启动service和foregroundservice,一般是通过component和action来启动
eg1:启动服务

am start-service com.example.myapp/.MyService
am start-service -a "example.intent.action.MY_SERVICE"

eg2:停止服务

am stop-service com.example.myapp/.MyService
am stop-service -a "example.intent.action.MY_SERVICE"

发送broadcast

通过am broadcast来发送广播
eg1:发送广播

am broadcast -a "android.intent.action.BOOT_COMPLETED"

eg2:只给某个应用发送广播

am broadcast -a "android.intent.action.BOOT_COMPLETED" -n com.android.deskclock/.AlarmInitReceiver

进程管理

抓取进程java heap

am dumpheap <进程名>

停止进程

am force-stop <包名>
am stop-app <包名>

模拟crash

am crash <包名或进程id>

kill后台进程

am kill <包名>

系统

挂起系统

am hang

重启系统

不进行bootloader、kernerl阶段

am restart

获取当前user

am get-current-user

切换user

am switch-user <用户id>

获取系统配置

am get-config

dumpsys

查看当前activity stack

可以当前Focus的activity

dumpsys activity a

查看最近任务的activity stack

同导航栏的多任务按键

dumpsys activity r

查看应用退出的原因

dumpsys activity exit-info <包名>
http://www.dtcms.com/a/160684.html

相关文章:

  • 深度学习实验中,需要设置验证集吗?
  • 【计算机视觉】CV实战项目-高分辨率遥感图像语义分割:High-Resolution-Remote-Sensing-Semantic-Segmentation
  • Zookeeper断开连接时分布式锁释放问题的解决方案
  • 线上查询车辆出险记录:快速掌握事故情况!
  • spring-rabbit的CachingConnectionFactory默认参数导致消费者Channel数量暴增问题解决
  • Linux学习——FTP(功能实现)
  • 【KWDB 创作者计划】_KWDB引领数据库技术革新的璀璨之星
  • 《Vue3学习手记6》
  • 【vLLM 学习】CPU 离线处理
  • Alibaba Druid 完整配置与 Keepalive 优化指南
  • 《全球反空间能力》报告翻译——部分1
  • Mysql中隐式内连接和显式内连接的区别
  • 自然语言to SQL的评估
  • 二叉树遍历(C语言版)
  • 小白学习python第四天
  • 跨专业自学AI人工智能学习路线图(2025版)
  • Linux日志处理命令多管道实战应用
  • 【Redis】Redis Zset实现原理:跳表+哈希表的精妙设计
  • 使用PHP对接印度股票市场数据
  • 基于c++的LCA倍增法实现
  • 【博客系统】博客系统第二弹:实现博客列表接口(在 Service 层重新封装 Mapper 层返回结果,避免实体类所有字段都向前端返回)、SimpleDateFormat 类的使用方法
  • 【RabbitMQ消息队列】详解(一)
  • Linux系统类型及常用操作命令总结
  • 第三方软件检测报告:热门办公软件评估及功能表现如何?
  • 电力系统失步解列与振荡解析
  • Java 内存泄漏 详解
  • 【AI提示词】领导力教练
  • 4.2.1 MYSQL语句,索引,视图,存储过程,触发器
  • 第十三步:vue
  • 【PVR】《Adaptive Palm Vein Recognition Method》