J'ai donc une idée de tester mon application Android sur mon ordinateur portable en utilisant un fichier avd mais avec plusieurs fichiers config.ini pour changer la composition de l'avd elle-même.Tentative ambitieuse d'exécuter une application Android sur plusieurs émulateurs - impossible d'arrêter les émulateurs
J'ai créé plusieurs avds, et copié les fichiers config.ini dans un dossier séparé.
J'ai aussi écrit un script bash pour
-
boucle
- dans mes fichiers config.ini
- les copier un à la fois dans le dossier AVD (en remplaçant le dernier)
- tentative d'arrêter tout émulateur de fonctionnement actuel (ce qui est mon gros problème)
- démarrer l'émulateur
- exécuter mes tests sur elle (qui prennent scre enshots)
- adb tirer les captures d'écran dans un dossier de
- Recommencez l'opération avec le prochain fichier ini
J'ai donc plus de ce travail, mais je ne peux pas pour la vie de moi d'arrêt/démarrage/redémarrez le fichier avd.
J'ai essayé plusieurs choses de diverses questions SO y compris, mais sans s'y limiter
- adb émeu tuer
- telnet tuer
- adb shell arrêter
- émulateur pgrep -f (pour trouver le pid) puis tuez -9 pour l'arrêter
rien ne semble fonctionner correctement, régulièrement sans bloquer mon script, ou lea ving certains fichiers restants, ce qui signifie que je ne peux pas redémarrer l'émulateur. Il semble que cela devrait être si facile et une excellente façon d'exécuter mon application sur plusieurs émulateurs de périphériques sans avoir à tous les exécuter en même temps, ce que mon ordinateur portable ne serait jamais capable de gérer (il pourrait faire peut-être 3 à la fois)
si vous faites 'any_shell_command &' et ensuite 'echo $!'vous obtiendrez l'ID de processus du dernier travail placé en arrière-plan, qu'il soit exécuté en tant que commande asynchrone ou en utilisant bg builtin, donc si vous lancez votre émulateur avec' & ', vous pouvez sauvegarder son pid quelque part et plus tard tuer il – pskink
@pskink - chaque fois que je tue, il peut souvent me conduire avec des fichiers .lock dans le dossier avd, ce qui signifie que je ne peux pas redémarrer cet émulateur –
essayé différents signaux? (kill -l) – pskink