我可以在沒有任何問題的情況下通過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)))