adb からアプリ起動

Uncategorized
416 words

adb を使って指定したアプリをパソコンから起動させました。

起動に必要な情報を集める

adb からアプリ起動をするには、パッケージ名とクラス名が必要です。

パッケージ名の調べ方

パッケージ名は Google Play を見れば簡単に分かります。

URLの「ID=」から「&」までがパッケージ名になります。

例えば https://play.google.com/store/apps/details?id=com.aniplex.fategrandorder&hl=ja の場合は com.aniplex.fategrandorder がパッケージ名ですね。

クラス名の調べ方

クラス名の調べ方はちょっと面倒くさくて、adb で shell コマンドを投げないと分かりません。

Android 実機を USB デバッグで繋いで、下記コマンドを投げます。

1
adb shell pm dump 「package」

「package」の部分は、調べたいアプリのパッケージ名を入れて下さい。

FGO の場合はこんな感じになります。

1
adb shell pm dump com.aniplex.fategrandorder

Windows PowerShell で試す場合は、先頭に「./」を入れて下さい。

大量に出力されますが、見る部分は一箇所のみです。

「android.intent.action.MAIN:」を探す

まず「android.intent.action.MAIN:」を探して、パッケージ名の後ろに繋がっている文字列が起動用クラス名になります。

FGOの場合は「android.intent.action.MAIN: e27b5a7 com.aniplex.fategrandorder/jp.delightworks.Fgo.player.AndroidPlugin filter 6007b4e」の「jp.delightworks.Fgo.player.AndroidPlugin」この部分がクラス名ですね。

adb からアプリの起動をする

今見つけた「パッケージ名」と「クラス名」を使って adb からアプリ起動をしてみます。

コマンドは下記の通りです。

1
adb shell am start -n 「package」/「class」

FGO の場合はこんな感じになります。

1
adb shell am start -n com.aniplex.fategrandorder/jp.delightworks.Fgo.player.AndroidPlugin

おわりに

adb で Android を自由自在に操作できると楽しいですね。