アプリをコンソールから起動するには
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}