是否可以通过adb shell启动活动?

时间:2012-11-14 14:21:40

标签: android

我想通过adb shell启动活动。这样我就可以启动所需的特定活动

6 个答案:

答案 0 :(得分:198)

启动adb shell并输入以下命令

am start -n yourpackagename/.activityname

答案 1 :(得分:22)

例如:

MyPackageName是com.example.demo

MyActivityName是com.example.test.MainActivity

adb shell am start -n com.example.demo/com.example.test.MainActivity

答案 2 :(得分:13)

我像AndroidStudio一样运行它:

am start -n "com.example.app.dev/com.example.app.phonebook.PhoneBookActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

如果您有产品风味,例如dev,它应仅在应用程序包名称中出现,但不应出现在活动包名称中。

对于模拟器,android:exported="true"中的活动没有AndroidManifest.xml标记,但我发现将其添加到无根物理设备以使其正常工作时很有用。

答案 3 :(得分:11)

adb shell am broadcast -a android.intent.action.xxx

提及xxx作为您在清单文件中提到的操作。

答案 4 :(得分:9)

例如,这将启动XBMC:

adb shell am start -a android.intent.action.MAIN -n org.xbmc.xbmc/android.app.NativeActivity

(已经发布了更多的一般答案,但我在这里错过了一个很好的例子。)

答案 5 :(得分:8)

(将上述评论作为评论添加但不具备足够的声誉......) 您还可以使用

找到当前屏幕活动的名称
adb shell dumpsys window windows | grep 'mCurrentFocus'