使用Android adb命令来启动Android应用程序
Android自带的ADB工具是一个很强大的工具,我们可以用ADB来完成非常多的工作。
具体ADB的使用可以参考这篇文章:Android adb常用指令使用指南
如何安装一个android app程序,可以使用adb install ApkName.apk命令来实现,那么安装完成之后可不可以用命令行来启动它呢?
Of Course!!!
那么如何启动已经安装好的Android App程序吗?
我们可以在命令行输入一下内容:
- C:\Users\Administrator>adb shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n net.micod
- e.fileexplorer/net.micode.fileexplorer.FileExplorerTabActivity
- Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=net.micode.fileexplorer/.Fi
- leExplorerTabActivity }
有同学要说,上面的命令太长了,不好记,老师,能不能给力点?
好的,我们可以精简下:
- C:\Users\Administrator>adb shell am start -n net.micode.fileexplorer/net.micode.fileexplorer.FileExplorerTabActivity
- Starting: Intent { cmp=net.micode.fileexplorer/.FileExplorerTabActivity }
- C:\Users\Administrator>
其中FileExplorerTabActivity是fileexplorer App应用程序的类名。
我们来看下adb shell am命令的帮助。
- C:\Users\Administrator>adb shell am
- usage: am [subcommand] [options]
- usage: am start [-D] [-W] [-P <FILE>] [--start-profiler <FILE>]
- [--R COUNT] [-S] <INTENT>
- am startservice <INTENT>
- am force-stop <PACKAGE>
- am kill <PACKAGE>
- am kill-all
- am broadcast <INTENT>
- am instrument [-r] [-e <NAME> <VALUE>] [-p <FILE>] [-w]
- [--no-window-animation] <COMPONENT>
- am profile [looper] start <PROCESS> <FILE>
- am profile [looper] stop [<PROCESS>]
- am dumpheap [flags] <PROCESS> <FILE>
- am set-debug-app [-w] [--persistent] <PACKAGE>
- am clear-debug-app
- am monitor [--gdb <port>]
- am screen-compat [on|off] <PACKAGE>
- am display-size [reset|MxN]
- am to-uri [INTENT]
- am to-intent-uri [INTENT]
- am start: start an Activity. Options are:
- -D: enable debugging
- -W: wait for launch to complete
- --start-profiler <FILE>: start profiler and send results to <FILE>
- -P <FILE>: like above, but profiling stops when app goes idle
- -R: repeat the activity launch <COUNT> times. Prior to each repeat,
- the top activity will be finished.
- -S: force stop the target app before starting the activity
- am startservice: start a Service.
- am force-stop: force stop everything associated with <PACKAGE>.
- am kill: Kill all processes associated with <PACKAGE>. Only kills.
- processes that are safe to kill -- that is, will not impact the user
- experience.
- am kill-all: Kill all background processes.
- am broadcast: send a broadcast Intent.
- am instrument: start an Instrumentation. Typically this target <COMPONENT>
- is the form <TEST_PACKAGE>/<RUNNER_CLASS>. Options are:
- -r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT). Use with
- [-e perf true] to generate raw output for performance measurements.
- -e <NAME> <VALUE>: set argument <NAME> to <VALUE>. For test runners a
- common form is [-e <testrunner_flag> <value>[,<value>...]].
- -p <FILE>: write profiling data to <FILE>
- -w: wait for instrumentation to finish before returning. Required for
- test runners.
- --no-window-animation: turn off window animations will running.
- am profile: start and stop profiler on a process.
- am dumpheap: dump the heap of a process. Options are:
- -n: dump native heap instead of managed heap
- am set-debug-app: set application <PACKAGE> to debug. Options are:
- -w: wait for debugger when application starts
- --persistent: retain this value
- am clear-debug-app: clear the previously set-debug-app.
- am monitor: start monitoring for crashes or ANRs.
- --gdb: start gdbserv on the given port at crash/ANR
- am screen-compat: control screen compatibility mode of <PACKAGE>.
- am display-size: override display size.
- am to-uri: print the given Intent specification as a URI.
- am to-intent-uri: print the given Intent specification as an intent: URI.
- <INTENT> specifications include these flags and arguments:
- [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
- [-c <CATEGORY> [-c <CATEGORY>] ...]
- [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
- [--esn <EXTRA_KEY> ...]
- [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
- [--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
- [--el <EXTRA_KEY> <EXTRA_LONG_VALUE> ...]
- [--eu <EXTRA_KEY> <EXTRA_URI_VALUE> ...]
- [--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]
- [--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]
- [-n <COMPONENT>] [-f <FLAGS>]
- [--grant-read-uri-permission] [--grant-write-uri-permission]
- [--debug-log-resolution] [--exclude-stopped-packages]
- [--include-stopped-packages]
- [--activity-brought-to-front] [--activity-clear-top]
- [--activity-clear-when-task-reset] [--activity-exclude-from-recents]
- [--activity-launched-from-history] [--activity-multiple-task]
- [--activity-no-animation] [--activity-no-history]
- [--activity-no-user-action] [--activity-previous-is-top]
- [--activity-reorder-to-front] [--activity-reset-task-if-needed]
- [--activity-single-top] [--activity-clear-task]
- [--activity-task-on-home]
- [--receiver-registered-only] [--receiver-replace-pending]
- [--selector]
- [<URI> | <PACKAGE> | <COMPONENT>]
来源:http://blog.csdn.net/tcpipstack/article/details/8553965