我想通过adb shell启动活动。这样我就可以启动所需的特定活动
答案 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'