2013-06-19 150 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)))