This question already has an answer here:
From the post Is it possible to start activity through adb shell?, we can start an Android app via adb by
adb shell am start -n yourpackagename/.activityname
But is it possible to start an Android app via adb without knowing the Activity name? For example, by sending the android.intent.action.MAIN intent to a package? Maybe some command like this:
adb shell am start -a android.intent.action.MAIN -n packageName
Thanks!!
-Cosmo
Yes, it is possible to launch an app via adb shell making use of the monkey tool.
Using the command from this answer:
This command simulates the app icon click, so the intent implicit intent LAUNCHER is delivered to the specific receiver declared in app manifest (MAIN)
If you have the apk file, you can install and start the app using droidbot.
DroidBot is based on adb, but it uses static analysis to extract the Activity name automatically.
Using latest versions (at least API 25) you can start the default Activity, without knowing its name, and not using
monkey
: