Contents
  1. 1. activity manager (am)
    1. 1.1. am命令及参数
      1. 1.1.1. start [options]
      2. 1.1.2. startservice [options]
      3. 1.1.3. force-stop
      4. 1.1.4. kill [options]
      5. 1.1.5. kill-all
      6. 1.1.6. broadcast [options]
      7. 1.1.7. instrument [options]
      8. 1.1.8. profile start
      9. 1.1.9. profile stop
      10. 1.1.10. dumpheap [options]
      11. 1.1.11. set-debug-app [options]
      12. 1.1.12. clear-debug-app
      13. 1.1.13. monitor [options]
      14. 1.1.14. screen-compat [on|off]
      15. 1.1.15. display-size [reset|]
      16. 1.1.16. to-uri
      17. 1.1.17. to-intent-uri
  2. 2. package manager (pm)
    1. 2.1. 可用命令和参数
      1. 2.1.1. list packages [options]
      2. 2.1.2. list permission-groups
      3. 2.1.3. list permissions [optiomns]
      4. 2.1.4. list instrumentation
      5. 2.1.5. list features
      6. 2.1.6. list libraries
      7. 2.1.7. list users
      8. 2.1.8. path
      9. 2.1.9. install [options]
      10. 2.1.10. uninstall [options]
      11. 2.1.11. clear
      12. 2.1.12. enable
      13. 2.1.13. disable
      14. 2.1.14. disable-user [options]
      15. 2.1.15. grant
      16. 2.1.16. set-install-location
      17. 2.1.17. get-install-location
      18. 2.1.18. set-permission-enforced [true|false]
      19. 2.1.19. trim-caches
      20. 2.1.20. create-user
      21. 2.1.21. remove-user
      22. 2.1.22. get-max-users

activity manager (am)

  在android设备shell中,可以使用am执行一系列的系统操作,如启动一个activity,关闭一个进程,广播一个intent,修改设备屏幕属性等等,命令形式如下:

1
am <command>

  也要可以不进入shell直接执行命令:

1
adb shell am start -a android.intent.action.VIEW

am命令及参数

start [options] <INTENT>

  通过指定Intent启动activity。

  options有:

-D 开启debug

-W 等启动结束

--start-profiler <FILE> 启动profiler,发送结果到FILE

-P <FILE> 类上,但是profiler在app闲置时停止

-R 重启activity <COUNT>次,每次启动前,top activity将结束。

-S 在activity启动前强制停止目标app

--opengl-trace 开启opengl功能trace

--user <USER_ID> | current 指定运行用户,缺省为当前用户

startservice [options] <INTENT>

  指定INTENT启动Service。
  可用参数:

--user <USER_ID> | current 指定运行用户,缺省为当前用户

force-stop <PACKAGE>

  终止所有该package相关事物(package为app的package名)

kill [options] <PACKAGE>

  类上,但是只杀死安全的,不影响用户体验的进程,可选参数有:

--user <USER_ID> | all | current   指定进程所属用户,缺省为所有用户

kill-all

  杀死所有后台进程

broadcast [options] <INTENT>

  发出一个广播INTENT

  可用参数 :

[--user <USER_ID> | all | current]   需要发送给哪个用户,默认为所有

instrument [options] <COMPONENT>

  使用Instrumentation实例开始监听,典型的目标 是如 /的形式.

  可用参数有:

-r: 打印raw结果(另一为<REPORT_KEY_STREAMRESULT>),搭配[-e perf true]使用生成raw输出以评估性能。

-e <NAME> <VALUE>: 设置参数值,对于测试运行,一种常见形式是-e <testrunner_flag> <value>[,<value>...]

-p <FILE>: 将profiling数据写入 .

-w: 等待 instrumentation结束后再返回,测试运行必须。

--no-window-animation: 运行时关闭窗口动画.

--user <USER_ID> | current:   指定instrumentation运行在哪个用户中,缺省为当前用户

profile start <FILE>

在进程上运行profile,将结果输出到

profile stop <PROCESS>

停止上的profile

dumpheap [options] <FILE>

dump进程上的heap到

--user [<USER_ID>|current]: 当提供了时,可以指定USER,缺省为当前用户
-n: Dump native heap 而不是 managed heap.

set-debug-app [options] <PACKAGE>

设置debug

-w: 等待包启动
--persistent: 记住此值

clear-debug-app

清除set-debug-app的设置

monitor [options]

开始监测crash和ANR

--gdb: 发现crash/ANR时在指定port启动gdb server

screen-compat [on|off] <PACKAGE>

控制包的screen compatibility模式。

display-size [reset|<WxH>]

覆写android设备的显示尺寸,此命令可以模拟不同尺寸的显示屏,在测试应用时非常有用,例如:

1
am display-density 480

to-uri <INTENT>

将Intent的详细参数打印到一个URI

to-intent-uri <INTENT>

将Intent的详细参数打印到一个intent URI

package manager (pm)

使用pm工作你可以 在设备上安装的软件包上执行动作查询 。

语法 :

1
2
3
4
5
6
#adb shell中
pm <command>
#系统shell中
adb shell pm uninstall com.example.MyApp

可用命令和参数

list packages [options] <FILTER>

list所有软件包,或者包名中包含FILTER字样的包

-f: 查看相关文件
-d: 只显示被禁用的包
-e: 显示启用的包
-s: 显示系统包
-3: 显示第三方包
-i: 查看包installer
-u: 包含已卸载包
--user <USER_ID>: 指定查询的用户空间

list permission-groups

打印所有已经知权限组

list permissions [optiomns] <GROUP>

list所有 或 包含于GROUP中 已知权限
-g: 按组排序
-f: 打印所有信息
-s 打印概要
-d 只列出危险权限
-u 只列出用户可见的权限

list instrumentation

列出所有测试包

-f 列出测试包的APK文件

1
2
3
4
root@generic_x86:/ # pm list instrumentation -f
instrumentation:/system/app/EmulatorSmokeTests/EmulatorSmokeTests.apk=com.android.emulator.smoketests/android.support.test.runner.AndroidJUnitRunner (target=com.android.emulator.smoketests)
instrumentation:/data/app/SmokeTest/SmokeTest.apk=com.android.smoketest.tests/com.android.smoketest.SmokeTestRunner (target=com.android.smoketest)
instrumentation:/data/app/ApiDemos/ApiDemos.apk=com.example.android.apis/.app.LocalSampleInstrumentation (target=com.example.android.apis)

<TARGET_PACKAGE> 只列出指定目标的测试包

list features

列出系统所有特性

list libraries

列出当前设备支持的所有库

list users

当前系统中的所有用户

path <PACKAGE>

打印指定包的path

install [options] <path>

将path指定的包安装到系统

-r 重新安装已存在的包,保留数据
-t 允许安装测试包
-i <INSTALLER_PACKAGE_NAME> 指定Installer
-s 安装到shared mass storage(如SD卡)

-f 安装到系统内部存储
-d 允许版本降级

uninstall [options] <PACKAGE>

卸载包
-k 保留数据和缓存目录

clear <PACKAGE>

删除所有与包相关的数据

enable <PACKAGE_OR_COMPONENT>

启用package / component,形式为”package/class”

disable <PACKAGE_OR_COMPONENT>

停用package / component,形式为”package/class”

disable-user [options] <PACKAGE_OR_COMPONENT>

--user <USER_ID>: The user to disable.

grant <PACKAGE_PERMISSION>

授予包权限,限于包已声明的权限

set-install-location <LOCATION>

更改默认安装位置,值为:
0 自动
1 内部存储
2 外部存储

调试用,可能导致应用崩溃或者其它错误

get-install-location

返回当前安装位置,返回值见上

set-permission-enforced <PERMISSION> [true|false]

设置指定权限是否应该强制执行

trim-caches <DESIRED_FREE_SPACE>

修剪cache文件到指定剩余空间

create-user <USER_NAME>

创建指定用户,打印uid

remove-user <USER_ID>

删除用户

get-max-users

设备支持的最大用户数

Contents
  1. 1. activity manager (am)
    1. 1.1. am命令及参数
      1. 1.1.1. start [options]
      2. 1.1.2. startservice [options]
      3. 1.1.3. force-stop
      4. 1.1.4. kill [options]
      5. 1.1.5. kill-all
      6. 1.1.6. broadcast [options]
      7. 1.1.7. instrument [options]
      8. 1.1.8. profile start
      9. 1.1.9. profile stop
      10. 1.1.10. dumpheap [options]
      11. 1.1.11. set-debug-app [options]
      12. 1.1.12. clear-debug-app
      13. 1.1.13. monitor [options]
      14. 1.1.14. screen-compat [on|off]
      15. 1.1.15. display-size [reset|]
      16. 1.1.16. to-uri
      17. 1.1.17. to-intent-uri
  2. 2. package manager (pm)
    1. 2.1. 可用命令和参数
      1. 2.1.1. list packages [options]
      2. 2.1.2. list permission-groups
      3. 2.1.3. list permissions [optiomns]
      4. 2.1.4. list instrumentation
      5. 2.1.5. list features
      6. 2.1.6. list libraries
      7. 2.1.7. list users
      8. 2.1.8. path
      9. 2.1.9. install [options]
      10. 2.1.10. uninstall [options]
      11. 2.1.11. clear
      12. 2.1.12. enable
      13. 2.1.13. disable
      14. 2.1.14. disable-user [options]
      15. 2.1.15. grant
      16. 2.1.16. set-install-location
      17. 2.1.17. get-install-location
      18. 2.1.18. set-permission-enforced [true|false]
      19. 2.1.19. trim-caches
      20. 2.1.20. create-user
      21. 2.1.21. remove-user
      22. 2.1.22. get-max-users