Android adb shell am 命令介绍
am这个指令是 activity manager的缩写。这个命令可以启动Activity、打开或关闭进程、发送广播等操作。
am命令格式如下
adb shell am
- start [options]
根据Intent 启动Activity
options参数如下:
-D:开启debug模式
-W:等待启动完成
--start-profiler:将profiler中的结果输出到指定文件中
-P:和–start-profiler一样,区别在于,在app进入idle状态时profiler结束
-R: 重复启动Activity,但每次重复启动都会关闭掉最上面的Activity
-S:关闭Activity所属的App进程后再启动Activity
--opengl-trace:开启OpenGL tracing
--user:使用指定的用户来启动activity,如果不输入,则使用当前用户执行
INTENT参数参见附录1:
命令样例:1
2
3
4
5
6
7
8//使用Action方式打开系统设置-输入法设置
adb shell am start -a android.settings.INPUT_METHOD_SETTINGS
//使用组件名方式启动照相机功能
adb shell am start -n com.android.camera/.Camera
//打开拨号界面,并传递一个DATA_URI数据给拨号界面
am start -a android.intent.action.CALL -d tel:10086 - startservice [options]
根据Intent 启动Service
options参数如下:
--user:使用指定的用户来启动activity,如果不输入,则使用当前用户执行
INTENT参数参见附录1:
命令样例:1
2//使用ComponentName 方式启动一个Service
adb shell am startservice com.some.package.name/.YourServiceSubClassName - force-stop
关闭指定包名的应用程序
命令样例:1
adb shell am force-stop com.some.package
- kill [options]
杀死与应用程序的包名称相关联的所有进程。该命令只会杀死安全的进程,不会影响用户体验。
options参数如下:
--user:使用指定的用户来启动activity,如果不输入,则使用当前用户执行
命令样例:1
adb shell am kill com.some.package
- kill-all
杀死全部的后台进程
命令样例:1
adb shell am kill-all
- broadcast [options]
发送一个广播
options参数如下:
--user:使用指定的用户来启动activity,如果不输入,则使用当前用户执行
命令样例:1
2//恢复出厂设置的方法,会清除内存所有内容(慎重测试!!!!)
adb shell am broadcast -a android.intent.action.MASTER_CLEAR - instrument [options]
启动对instrument实例的监视
options参数如下:
-r: 以原始形式输出测试结果。该选项通常是在性能测试时与-e perf true一起使用。
-e: 提供了以键值对形式存在的测试选项。格式一般为 -e [, …].
-p: 将profiling数据写入制定的文件
-w: 保持adb shell打开直至测试完成
--no-window-animation:关闭运行时window动画
--user:使用指定的用户来启动activity,如果不输入,则使用当前用户执行
命令样例:1
adb shell am instrument -w com.android.phone.tests/com.android.phone.runners.FunctionalTestRunner
- profile start
开始收集目标进程运行过程中的函数调用关系
其中PROCESS是所要收集的进程,直接用进程号即可, FILE是收集后trace所在的文件,一般直接放在/sdcard 目录 下,所以直接用/sdcard/文件名 即可。
命令样例:9、profile stop1
adb shell am profile start 17495 /mnt/sdcard/profile.txt
其中PROCESS是所要收集的进程,直接用进程号即可
停止收集目标进程运行过程中的函数调用关系
命令样例:1
adb shell am profile stop 17495
- dumpheap [options]
将指定进程号的堆信息输出到指定的文件中
options参数如下:
--user:使用指定的用户来启动activity,如果不输入,则使用当前用户执行
-n: 直接存储原始堆信息,而不是系统管理后的堆信息
命令样例:1
adb shell am dumpheap -n 17495 /mnt/sdcard/dumpheap.txt
- set-debug-app [options]
设置特定包名的应用程序开启debug
options参数如下:
-w: 等待应用程序启动
--persistent: 持久化
命令样例:1
adb shell am set-debug-app -w com.some.package
- clear-debug-app
取消设置debug状态的应用程序
命令样例:1
adb shell am clear-debug-app
- monitor [options]
监视Crash 或者ANR错误
options参数如下:
--gdb: 在给定的端口上启动gdbserv监控crash/ANR错误.
命令样例:1
adb shell am monitor
- screen-compat [on|off]
开启或关闭指定package的屏幕兼容模式
命令样例:1
adb shell am screen-compat on com.some.package
- display-size [reset|
]
重写模拟器/设备显示大小。这个命令是有帮助的测试你的应用程序在不同的屏幕大小,通过模仿一个小屏幕分辨率,使用一个大屏幕的设备,反之亦然。
命令样例:1
adb shell am display-size 1280x800
- display-density
重写模拟器/设备显示密度。该命令有助于测试你的应用程序在不同的屏幕密度对高密度屏幕环境,使用低密度屏幕,反之亦然。
命令样例:1
adb shell am display-density 480
- to-uri
将intent转换为Uri
命令样例:1
adb shell am to-uri -a android.settings.INPUT_METHOD_SETTINGS
- to-intent-uri
将intent转换为intent:Uri
命令样例:1
adb shell am to-intent-uri -a android.settings.INPUT_METHOD_SETTINGS
附录1:
1 | -a <ACTION> |