2010-10-19 22 views

Répondre

2

Je l'ai finalement fait. Je suis sur un environnement Mac donc j'ai utilisé Applescript pour simplifier la configuration de certaines variables, mais cela est réalisable directement depuis le terminal. Comme vous pouvez le voir, je suis en train d'exécuter quelques commandes shell. Atteindre cette concaténation spécifique de sed était une douleur, mais une grande expérience d'apprentissage.

Le premier script shell installera l'apk dans tous les périphériques trouvés via les périphériques adb. Si l'application est déjà là, adb la réinstalle grâce à l'option -r. Je concatène les commandes avec & afin que chaque commande s'exécute en arrière-plan, en l'installant et en l'exécutant en même temps. Auparavant, j'ai essayé de concaténer les commandes avec & &, de sorte que chaque commande attendait son tour et le résultat était un processus beaucoup plus lent.

Le deuxième script shell exécutera l'application dans tous les périphériques.

Je suis sûr que cela peut être simplifié par quelqu'un avec une plus grande connaissance de sed, mais cela fonctionne très bien pour moi. Inspiré par cette petite expérience, je suis allé de l'avant et j'ai créé des applications Automator pour cela et exécuter adb logcat sur chaque périphérique (donc quand je ctrl + c sur un logcat, il commence le suivant). Je suis allé jusqu'à créer des services pour exécuter ces applications Automator, mais Eclipse dans Mac OS X ne prend pas en charge les services. La solution de contournement consistait à exécuter les applications en tant qu'outils externes.

Pour plus de saveur, j'ai ajouté des notifications Growl dans mes applications Automator pour me dire quand adb est l'installation et l'exécution de l'application.

2

Je voudrais avoir une machine assez puissante pour exécuter 3 émulateurs à la fois! :)

Je doute que les outils de développement Android peuvent le faire pour vous ... le plus proche que vous pouvez probablement obtenir est de script quelque chose. « Périphériques ADB » vous obtiendrez la liste des instances de l'émulateur, et vous avez juste besoin d'itérer cette liste l'exécution de ces commandes deux sur chaque:

ADB < numéro de série > installer app.apk

ADB < série numéro > shell de démarrage -a am android.intent.action.MAIN -n org.example.app/org.example.app.MainActivity

+0

Merci, j'ai passé les 3 dernières heures à créer un Applescript mélangé à quelques commandes de terminaux et réussi à y parvenir. Je l'afficherai quand j'aurai fini de le polir. –