2013-06-19 109 views
0

我可以在没有任何问题的情况下通过adb安装apk。通过adb安装并打开包装

但我安装后,我想要通过adb打开该包。我想发送一个意图到打开MAIN或LAUNCHER活动的包,就像启动器那样。

但adb似乎总是希望我包含一个活动名称在我的意图。

我该如何解决这个问题? 我可以扫描所有软件包名称的apk吗?对于主要的? 有没有一种方法可以在没有活动名称的情况下通过adb打开它?

回答

0

通过adb你可以通过使用adb本身的猴子来简化应用程序的打开过程,而无需查找可启动的活动。

例如,打开Facebook的:

adb shell monkey -p com.facebook.katana 1 
0

随着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)))