アプリをコンソールから起動するには

Intentを送るには、アクティビティを知らねばならない。
アクティビティは、AndroidManifest.xmlを見れば書いてあるのだけど、apkはzipだからってバラしても、バイナリ化されててすぐには読めない。
platform-toolsにあるaaptコマンドを使って、AndroidManifest.xmlをパースしてアクティビティを調べる。

MacBook:platform-tools kinneko$ ./aapt l -a hogefuga.apk 

パイプじゃなくてエル(L)小文字な。


長いのが出てくるけど、

E: activity (line=15)

あたりを探すと、

A: android:name(0x01010003)=".MainActivity" (Raw: ".MainActivity")

とか書いてある。


あとは、amコマンドで起動するだけ。

$ am start -n jp.my.android.hogefuga/.MainActivity --ez autorun true   
Starting: Intent { cmp=jp.my.android.hogefuga/.MainActivity (has extra}