adb shell am 的用法

adb shell am
使用此命令可以从cmd控制台启动 activity, services;发送 broadcast等等:
 
 1 C:UsersAdministrator>adb shell am
 2 usage: am [subcommand] [options]
 3 
 4     start an Activity: am start [-D] [-W] <INTENT>
 5         -D: enable debugging
 6         -W: wait for launch to complete
 7 
 8     start a Service: am startservice <INTENT>
 9 
10     send a broadcast Intent: am broadcast <INTENT>
11 
12     start an Instrumentation: am instrument [flags] <COMPONENT>
13         -r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT)
14         -e <NAME> <VALUE>: set argument <NAME> to <VALUE>
15         -p <FILE>: write profiling data to <FILE>
16         -w: wait for instrumentation to finish before returning
17 
18     start profiling: am profile <PROCESS> start <FILE>
19     stop profiling: am profile <PROCESS> stop
20 
21     start monitoring: am monitor [--gdb <port>]
22         --gdb: start gdbserv on the given port at crash/ANR
23 
24     <INTENT> specifications include these flags:
25         [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
26         [-c <CATEGORY> [-c <CATEGORY>] ...]
27         [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
28         [--esn <EXTRA_KEY> ...]
29         [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
30         [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
31         [-n <COMPONENT>] [-f <FLAGS>]
32         [--grant-read-uri-permission] [--grant-write-uri-permission]
33         [--debug-log-resolution]
34         [--activity-brought-to-front] [--activity-clear-top]
35         [--activity-clear-when-task-reset] [--activity-exclude-from-recents]
36         [--activity-launched-from-history] [--activity-multiple-task]
37         [--activity-no-animation] [--activity-no-history]
38         [--activity-no-user-action] [--activity-previous-is-top]
39         [--activity-reorder-to-front] [--activity-reset-task-if-needed]
40         [--activity-single-top]
41         [--receiver-registered-only] [--receiver-replace-pending]
42         [<URI>]
使用实例:
如启动一个 Activity:
 
格式:
adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。

实例1:

C:UsersAdministrator>adb shell am start -n com.android.camera/.Camera
Starting: Intent { cmp=com.android.camera/.Camera }
 
实例2:(带extra 的 intent)
C:UsersAdministrator>adb shell am start -n com.android.camera/.Camera -e abc hello
Starting: Intent { cmp=com.android.camera/.Camera (has extras) }
其中 extra 的 key 为 abc ,value 为字串 "hello"
 
还可以发送命令模拟手机低电环境:

实例:

adb shell am broadcast -a android.intent.action.BATTERY_CHANGED --ei "level" 3 --ei "scale" 100

原文地址:https://www.cnblogs.com/goodhacker/p/3872290.html