我可以在没有任何问题的情况下通过adb安装apk。通过adb安装并打开包装
但我安装后,我想要通过adb打开该包。我想发送一个意图到打开MAIN或LAUNCHER活动的包,就像启动器那样。
但adb似乎总是希望我包含一个活动名称在我的意图。
我该如何解决这个问题? 我可以扫描所有软件包名称的apk吗?对于主要的? 有没有一种方法可以在没有活动名称的情况下通过adb打开它?
我可以在没有任何问题的情况下通过adb安装apk。通过adb安装并打开包装
但我安装后,我想要通过adb打开该包。我想发送一个意图到打开MAIN或LAUNCHER活动的包,就像启动器那样。
但adb似乎总是希望我包含一个活动名称在我的意图。
我该如何解决这个问题? 我可以扫描所有软件包名称的apk吗?对于主要的? 有没有一种方法可以在没有活动名称的情况下通过adb打开它?
通过adb你可以通过使用adb本身的猴子来简化应用程序的打开过程,而无需查找可启动的活动。
例如,打开Facebook的:
adb shell monkey -p com.facebook.katana 1
随着AAPT你可以找到可发射活动,例如:
$ aapt dump badging file.apk | grep package
package: name='com.triposo.droidguide.world' versionCode='161' versionName='2.1'
$ aapt dump badging file.apk | grep launchable
launchable-activity: name='com.triposo.droidguide.world.SplashActivity' label='' icon=''
要指定一个意图,当你推出一个活动,你可以使用一个MonkeyRunner脚本和MonkeyDevice.startActivity:
from com.android.monkeyrunner import MonkeyRunner
device = MonkeyRunner.waitForConnection()
package = 'com.triposo.droidguide.world'
launchable_activity = 'com.triposo.droidguide.world.SplashActivity'
device.startActivity(component='%s/%s' % (package, launchable_activity)))