137

adbシェルからアクティビティを開始したい。必要な特定のアクティビティを開始できるように

4

6 に答える 6

260

adbシェルを起動し、次のようにコマンドを入力します

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 に答える