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 <包名>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值