从帖子jQuery docs开始,我们可以通过adb
启动Android应用adb shell am start -n yourpackagename/.activityname
但是有可能在不知道活动名称的情况下通过adb启动Android应用程序吗?例如,通过将 android.intent.action.MAIN 意图发送给包?也许有些命令如下:
adb shell am start -a android.intent.action.MAIN -n packageName
谢谢!
-Cosmo
答案 0 :(得分:78)
是的,可以通过使用猴子工具的adb shell启动应用程序。
使用this answer中的命令:
adb shell monkey -p app.package.name -c android.intent.category.LAUNCHER 1
此命令模拟应用程序图标单击,因此意图隐式意图LAUNCHER将传递给在应用程序清单(MAIN)中声明的特定接收方
答案 1 :(得分:7)
使用最新版本(至少API 25),您可以在不知道其名称的情况下启动默认活动,而不使用monkey
:
PKG=com.android.calculator2
adb shell am start $PKG/$(adb shell cmd package resolve-activity -c android.intent.category.LAUNCHER $PKG | sed -n '/name=/s/^.*name=//p')
答案 2 :(得分:0)
如果你有apk文件,你可以使用droidbot安装和启动应用程序。
> droidbot -d emulator-5554 -a <xxx.apk> -install_app -policy none -count 0
DroidBot基于adb,但它使用静态分析自动提取活动名称。