After adb install
-ing my app, I can verify that it's there with adb shell pm list packages AppName
:
package:air.com.client.AppName
So I know it's there, but when I try to launch it with adb shell am start -a android.intent.action.MAIN -n air.com.client/.AppName
, I get this error:
Starting: Intent { cmp=air.com.client/.AppName}
Error type 3
Error: Activity class {air.com.client/air.com.client.AppName} does not exist.
If it matters, this is, as you may have noticed, an AIR app that's been packaged as an Android app. Any ideas? Did I miss something somewhere? When I use aapt dump xmltree
I can see that my .apk includes an android.intent.action.MAIN
entry in the intent-filter node, for what it's worth.
And finally, for sanity's sake, using the same command template I can launch the settings app with no problems:
adb shell am start -a android.intent.action.MAIN -n com.android.settings/.Settings
Managed to figure it out - I left a prompt open with adb logcat
, then launched my app on the device - out of this corresponding log entry:
I/ActivityManager( 2115): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=air.com.client.AppName/.AppEntry} from pid 2453
I put together a new command line:
adb shell start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n air.com.client.AppName/.AppEntry
... which does exactly what I wanted. I'll be honest, I don't understand exactly why it works, but that's good enough for now.