137

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

4

6 回答 6

260

启动 adb shell 并输入如下命令

am start -n yourpackagename/.activityname
于 2012-11-14T14:27:13.030 回答
54

如:</p>

MyPackageName 是 com.example.demo

MyActivityName 是 com.example.test.MainActivity

adb shell am start -n com.example.demo/com.example.test.MainActivity
于 2016-04-01T02:18:33.077 回答
24

我像 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 但我发现将它添加到无根物理设备以使其工作很有用。

于 2016-04-07T08:43:03.697 回答
23

您还可以使用查找当前屏幕活动的名称

adb shell dumpsys window windows | grep 'mCurrentFocus'
于 2016-03-22T07:57:48.833 回答
12
adb shell am broadcast -a android.intent.action.xxx

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

于 2012-11-14T14:29:31.983 回答
10

例如,这将启动 XBMC:

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

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

于 2014-09-20T22:36:42.897 回答