Exécutez automatiquement une application sur plusieurs appareils dans Android Studio


112

J'ai plusieurs appareils Android connectés à l'ordinateur. Lorsque j'essaie d'exécuter l'application que je développe, Android Studio m'invite toujours à choisir l'appareil. Existe-t-il un moyen de déployer automatiquement l'application sur plusieurs appareils - en cliquant sur Exécuter ou mieux encore avec un raccourci?


Vraisemblablement, vous pouvez utiliser un script de la amcommande adb shell que vous pouvez trouver dans la documentation Android ou dans de nombreuses questions ici, utiliser quelque chose comme xargs ou une boucle for pour itérer sur tous les périphériques, puis configurer l'EDI pour exécuter le script à partir d'un bouton ou menu personnalisé. Si vous attendez également une (ré) installation, vous devrez d'abord le faire adb install -r somefile.apkdans votre script.
Chris Stratton

Réponses:


304

C'est presque trop facile, en fait. Lorsque vous voyez la liste des appareils apparaître après le lancement de l'application, il vous suffit de déplacer ou de contrôler en cliquant sur chaque appareil sur lequel vous souhaitez le lancer. Je viens de découvrir cela par accident. J'espère que ça aide.


19
Oui mais comme cette question n'a jamais été répondue, les autres sauront désormais comment faire. Ce n'est pas vraiment évident dans l'interface.
damccull

Quelle version de l'ide utilisez-vous? Si vous n'utilisez pas la dernière version, vous devez mettre à jour.
damccull

si vous changez de vitesse, sélectionnez tous les périphériques et cliquez sur "Exécuter sur le même périphérique la prochaine fois", même si cela ne met pas plusieurs "périphériques", il fonctionnera automatiquement la prochaine fois.
OWADVL

existe-t-il un moyen de le faire sur Mac? Je n'ai pas pu sélectionner plusieurs appareils.
guness

12
Ohh, je viens de réaliser que j'essayais de déboguer des applications, pas de les exécuter. AS permet d'exécuter plusieurs périphériques, mais n'en débogue qu'un seul.
guness le

30

Pour les nouveaux utilisateurs, dans Android Studio 2, vous devez également désactiver "Instant Run" dans Paramètres-> Build, Execution, Deployment-> Instant Run. Voir Instant Run .

Avec Instant Run, vous ne pouvez travailler qu'avec un seul appareil à la fois.

METTRE À JOUR

Dans Android Studio 2.1, il est automatiquement désactivé lorsqu'il est exécuté sur plusieurs appareils à la fois.

Déploiement sur plusieurs appareils

Instant Run utilise différentes techniques pour effectuer des échanges à chaud, à chaud et à froid spécifiques au niveau d'API de l'appareil cible. Pour cette raison, lors du déploiement d'une application sur plusieurs appareils à la fois, Android Studio désactive temporairement Instant Run.


1
Android Studio 2.3, ceci ou l'une des réponses précédentes ne fonctionne pas. J'espère vraiment qu'il y a une solution à cela.
ᴛʜᴇᴘᴀᴛᴇʟ

6

J'ai une nouvelle mise à jour d'Android Studio qui est Android Studio 3.5

Android Studio 3.5
Build #AI-191.8026.42.35.5791312, built on August 9, 2019
JRE: 1.8.0_202-release-1483-b03 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows Server 2016 10.0

Dans cette mise à jour, ils ont ajouté une option intégrée pour exécuter l'application sur plusieurs appareils.

L'EDI dispose d'un nouveau menu déroulant qui vous permet de sélectionner rapidement l'appareil sur lequel vous souhaitez déployer votre application. Ce menu comprend également une nouvelle option qui vous permet d'exécuter votre application sur plusieurs appareils à la fois.

entrez la description de l'image ici

Mettez à jour la nouvelle version d'Android Studio et profitez-en.


15
Malheureusement, cela ne mémorise pas votre sélection, vous devez donc les resélectionner à chaque fois que vous exécutez.
Ryan R

13
Ouais, cette mise à jour est la raison pour laquelle je suis ici. Cela aggrave les choses, car la solution de contournement et le rappel ne fonctionnent plus. Vérifions les notes de version 3.6 Canary :-)
Christian Ruppert

Oui, ce n'était pas le premier, pour un suivi, voir ici: stackoverflow.com/questions/57613864/...
Christian Ruppert

3
Je n'aime pas le fait de ne pas me souvenir de la sélection dans plusieurs appareils et d'essayer de fonctionner sur un émulateur si un appareil nouvellement branché n'a pas encore été reconnu. Ils ont encore une fois réparé quelque chose qui n'a jamais été cassé. Soupir.
Grishka

5

En complément, si vous souhaitez exécuter vos tests sur plusieurs appareils, vous ne pouvez pas sélectionner plusieurs appareils dans la boîte de dialogue de sélection d'appareils pour un profil de test. Au lieu de cela, vous devez exécuter la commande gradle connectedCheck. Cela exécute vos tests sur tous les appareils connectés. Il n'y a pas d'interface utilisateur intégrée pour cela (comme si vous exécutez des tests sur un seul appareil), mais il fournit un lien vers un fichier HTML généré localement avec le résumé du test.

Vous pouvez exécuter à partir de la ligne de commande, ou dans AS, regardez dans la Gradle projectsfenêtre sous: App (ou projet racine) -> Tâches-> vérification.

Réf: https://stackoverflow.com/a/18592367/1544046 : décrit les émulateurs, mais fonctionne également pour les appareils


0

À partir d'Android Studio 2.3.3, désactivez la fonction d'exécution instantanée, utilisez le menu Exécuter-> Exécuter l'application (dans Windows Maj + cliquez sur l'appareil que vous souhaitez déployer)

vous ne pouvez pas déployer sur plusieurs appareils si vous avez utilisé l'application run-> debug


0

Il est facile d'exécuter tous les appareils connectés à chaque fois. Sélectionnez simplement tous les appareils connectés pendant qu'Android Studio affiche Sélectionnez la cible de déploiement et sélectionnez «Utiliser la même sélection pour les lancements futurs».

NB N'oubliez pas que tous les appareils fonctionnent séquentiellement un par un.

entrez la description de l'image ici


0

Dans le studio Android 3.5. Exécutez sur plusieurs appareils.

entrez la description de l'image ici


1
Il ne se souvient toujours pas de ma sélection sur plusieurs appareils
Anbuselvan Rocky


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.