通过adb安装并打开包

时间:2013-06-19 19:41:21

标签: android install apk adb

我可以通过adb安装apk而不会出现任何问题。

但是在我安装之后,我想通过adb打开该包。我想向打开MAIN或LAUNCHER活动的包发送一个Intent,就像发射器一样。

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

我如何解决这个问题? 我可以扫描apk以获取所有包名吗?对于主要的一个? 有没有办法通过没有活动名称的adb打开它?

2 个答案:

答案 0 :(得分: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)))

答案 1 :(得分:0)

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

例如,打开Facebook:

adb shell monkey -p com.facebook.katana 1