-
启动命令很简单:
adb shell am start -n package/launch activity
-
例如以下命令可以打开模拟器上的设置app。
adb shell am start -n com.android.settings/com.android.settings.Settings
-
如上图所示,命令之后显示“Starting: Intent { cmp=com.android.settings/.Settings}”,这表示设置App启动成功了。
上述am 命令也可以写成以下形式,/之前的点表示跟之前的package相同。
adb shell am start -n com.android.settings/.Settings
-
所以命令的关键是要获取package和launch activity。有多种方法可以获得。
第一种,有代码的,打开AndroidManifest.xml,“package=”之后的就是命令需要的package,“android.intent.action.MAIN” action 所在的activity就是命令需要的launch activity,也就是图中蓝线的部分。这种方法对所有的APP都适用。
-
第二种,打开App,在cmd窗口中输入以下命令。
adb shell dumpsys window windows | findstr “Current”
如下图所示,/之前的就是package,之后的就是当前的activity,如下图红线的部分。对于大多数的App,这个当前的activity就是am命令需要的launch activity, 但也有些应用启动时包含了欢迎页之类的,在你打开App的时候就自动切换了activity,那用这种方法就获取不了需要的package。
-
第三种,输入以下命令,然后打开App。
adb shell
logcat | grep -i ActivityManager
在log中“ActivityManager:Displayed”之后的部分就含有am 命令需要的package和launch activity。如下图红线的部分。