通过am
命令可以启动任何一个activity
,如果启动Main Activity
就等于是启动了相应的apk
am 命令代码位置:frameworks\base\cmds\am\src\com\android\commands\am
使用 am -help
可以查看该命令详细的用法,以下是截取的部分常用用法:
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>
--sampling INTERVAL: use sample profiling with INTERVAL microseconds between samples (use with --start-profiler)
-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
--opengl-trace: enable tracing of OpenGL functions
--user <USER_ID> | current: Specify which user to run as; if not specified then run as the current user.
am startservice: start a Service. Options are:
--user <USER_ID> | current: Specify which user to run as; if not specified then run as the current user.
am stopservice: stop a Service. Options are:
--user <USER_ID> | current: Specify which user to run as; if not specified then run as the current user.
am force-stop: force stop everything associated with <PACKAGE>.
--user <USER_ID> | all | current: Specify user to force stop; all users if not specified.
am kill: Kill all processes associated with <PACKAGE>. Only kills.
processes that are safe to kill -- that is, will not impact the user experience.
--user <USER_ID> | all | current: Specify user whose processes to kill; all users if not specified.
am kill-all: Kill all background processes.
am broadcast: send a broadcast Intent. Options are:
--user <USER_ID> | all | current: Specify which user to send to; if not specified then send to all users.
--receiver-permission <PERMISSION>: Require receiver to hold permission.
1. 启动一个指定的组件
****命令: **am start -n <COMPONENT> **
adb shell am start -n 包名 / 包含包名的Activity 或者service
Camera(照相机)的启动:
adb shell am start -n com.android.camera/com.android.camera.Camera
Browser(浏览器)的启动:
adb shell am start -n com.android.browser/com.android.browser.BrowserActivity
2. 使用Action隐式的启动
按照指定的地址启动浏览器:
adb shell am start -a android.intent.action.VIEW -d http://www.baidu.cn/
拨打电话 :
adb shell am start -a android.intent.action.CALL -d tel:10086
3. 启动一个服务service
am startservice -n com.android.music/com.android.music.MediaService
4. 发送一个广播
am broadcast -a