android adb shell常用命令(四)
一、简介
adb命令是adb这个程序自带的一些命令,而adb shell则是调用的Android系统中的命令,这些andorid特有的命令都放在来Android设备的system/bin目录下。
二、常用命令介绍
pm package Manager,可以获取到一些安装在Android设备上的应用信息,直接运行adb shell pm可以获取到该命令的帮助信息
-
- pm list package //列出所有的应用包名
- pm list package -s //列出系统应用
- pm list package -3 //列出第三方应用
- pm list package -f //列出应用包名及对应的apk存放位置
- pm list package -i //列出应用包名及其安装来源
- -i 后加关键字过滤自己想要的应用
- $pm list package -f -3 -i learningparentphone
-
- pm list instrumentation //列出含有单元测试case的应用,后面可跟参数-f(与pm list package中一样),以及 [TARGET-PACKAGE]
- $pm list instrumentation
- $pm list instrumentation -f
- pm dump +包名 //列出指定应用的dump信息,里面有各种信息
- $ pm dump com.hfjy.learningparentphone
- pm install +包名 //安装应用
- 文件存放在PC端,请用adb install +包名安装
- 文件存放Android端,请用pm install +包名安装
- pm uninstall +包名 //卸载应用,同adb uninstall
- pm clear +包名清除应用数据
- pm set-install-location //设置应用安装位置
- pm get-install-location //获取应用安装位置
- pm path +包名//列出指定应用的.apk位置
- $ pm path com.hfjy.learningparentphone
- #package:/data/app/com.hfjy.learningparentphone-S3QRnLd5jfsGdL6_0cM7xA==/base.apk
- pm list instrumentation //列出含有单元测试case的应用,后面可跟参数-f(与pm list package中一样),以及 [TARGET-PACKAGE]
am
am这个指令是 activity manager的缩写。这个命令可以启动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 <USER_ID> :使用指定的用户来启动activity,如果不输入,则使用当前用户执行
常用命令样例: //使用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
2、根据Intent 启动Service startservice [options] INTENT
options参数如下:
–user <USER_ID> :
使用指定的用户来启动activity,如果不输入,则使用当前用户执行
命令样例:
//使用ComponentName 方式启动一个Service
adb shell am startservice com.some.package.name/.YourServiceSubClassName
3、关闭指定包名的应用程序
命令样例:
adb shell am force-stop com.some.package
4、杀死与应用程序的包名称相关联的所有进程。
备注: 该命令只会杀死安全的进程,不会影响用户体验。
kill [options] PACKAGE
options参数如下:
–user <USER_ID> :
使用指定的用户来启动activity,如果不输入,则使用当前用户执行
命令样例: adb shell am kill com.some.package
5、adb shell am kill-all
杀死后台所有进程
6、发送广播
broadcast [options] INTENT
options参数如下:
–user <USER_ID> :
使用指定的用户来启动activity,如果不输入,则使用当前用户执行
命令样例:
//恢复出厂设置的方法,会清除内存所有内容(慎重测试!!!!)
adb shell am broadcast -a android.intent.action.MASTER_CLEAR