2013-06-19 3 views
0

Je peux installer un apk à travers ADB sans aucun problème.Installez et ouvrez le paquet via adb

Mais après l'avoir installé, je veux OUVRIR ce paquet via adb. Je veux envoyer une Intention au paquet qui ouvre l'activité MAIN ou LAUNCHER exactement comme le lanceur le ferait.

Mais adb semble toujours vouloir inclure un nom d'activité dans mon intention.

Comment puis-je contourner ce problème? Puis-je scanner une apk pour tous les noms de paquets? Pour le principal? Existe-t-il un moyen de l'ouvrir via adb sans nom d'activité?

Répondre

0

Grâce adb vous pouvez simplifier le processus d'ouverture de l'application en utilisant singe à partir de ADB lui-même sans avoir besoin de trouver l'activité laxable.

Par exemple, pour ouvrir Facebook:

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

Avec AAPT, vous pouvez trouver l'activité décollable, par exemple:

$ 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='' 

Pour spécifier une intention lorsque vous lancez une activité, vous pouvez utiliser un script MonkeyRunner et 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))) 
Questions connexes