Esegui automaticamente un'app su più dispositivi in ​​Android Studio


112

Ho più dispositivi Android collegati al computer. Quando provo a eseguire l'app che sto sviluppando, Android Studio mi chiede sempre di scegliere il dispositivo. Esiste un modo per distribuire automaticamente l'app su più dispositivi, facendo clic su Esegui o ancora meglio con un collegamento?


Presumibilmente potresti scrivere l'utilizzo del amcomando adb shell che puoi trovare nei documenti di Android o in numerose domande qui, usare qualcosa come xargs o un ciclo for per iterare su tutti i dispositivi, quindi configurare l'IDE per eseguire lo script da un pulsante o menu personalizzato. Se ti aspetti anche una (re) installazione, dovrai prima farlo adb install -r somefile.apknel tuo script.
Chris Stratton

Risposte:


304

In realtà è fin troppo facile. Quando viene visualizzato l'elenco dei dispositivi dopo aver avviato l'app, basta spostare o fare clic su ogni dispositivo su cui si desidera che venga avviato. L'ho appena scoperto per caso. Spero che sia d'aiuto.


19
Sì, ma poiché questa domanda non è mai stata risolta, gli altri ora sapranno come farlo. Non è esattamente ovvio nell'interfaccia.
damccull

Quale versione dell'ide stai usando? Se non stai eseguendo l'ultima, dovresti aggiornare.
damccull

se premete Shift, selezionate tutti i dispositivi e fate clic su "Esegui sullo stesso dispositivo la prossima volta", anche se non "dispositivi" al plurale verrà eseguito automaticamente su tutte le volte successive.
OWADVL

c'è un modo per farlo su Mac? Non sono riuscito a selezionare più dispositivi.
guness

12
Ohh, mi sono appena reso conto che stavo cercando di eseguire il debug delle app, non di eseguirle. AS consente di eseguire più dispositivi ma eseguire il debug di uno solo.
guness

30

Per i nuovi utenti, in Android Studio 2, è anche necessario disabilitare "Instant Run" in Impostazioni-> Build, Execution, Deployment-> Instant Run. Vedi Instant Run .

Con Instant Run, puoi lavorare con un solo dispositivo alla volta.

AGGIORNARE

In Android Studio 2.1, viene disabilitato automaticamente quando viene eseguito su più dispositivi alla volta.

Distribuzione su più dispositivi

Instant Run utilizza diverse tecniche per eseguire swap a caldo, a caldo e a freddo specifici per il livello API del dispositivo di destinazione. Per questo motivo, durante la distribuzione di un'app su più dispositivi contemporaneamente, Android Studio disattiva temporaneamente l'esecuzione immediata.


1
Android Studio 2.3, questa o una qualsiasi delle risposte precedenti non funziona. Spero davvero che ci sia una soluzione per questo.
ᴛʜᴇᴘᴀᴛᴇʟ

6

Ho un nuovo aggiornamento di Android Studio che è 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

In questo aggiornamento è stata aggiunta un'opzione incorporata per eseguire l'applicazione su più dispositivi.

L'IDE ha un nuovo menu a discesa che ti consente di selezionare rapidamente il dispositivo su cui desideri distribuire la tua app. Questo menu include anche una nuova opzione che ti consente di eseguire la tua app su più dispositivi contemporaneamente.

inserisci qui la descrizione dell'immagine

Aggiorna la nuova versione di Android Studio e divertiti.


15
Sfortunatamente, questo non ricorda la tua selezione, quindi devi riselezionarli ogni volta che esegui.
Ryan R

13
Sì, questo aggiornamento è il motivo per cui sono qui. Peggio ancora, perché la soluzione alternativa e il ricordo non funzionano più. Controlliamo le note sulla versione 3.6 di Canary :-)
Christian Ruppert

Sì, non è stato il primo, per un seguito vedere qui: stackoverflow.com/questions/57613864/…
Christian Ruppert

3
Non mi piace non ricordare la selezione in più dispositivi e provare a eseguire un emulatore se un dispositivo appena collegato non è stato ancora riconosciuto. Ancora una volta hanno riparato qualcosa che non era mai stato rotto. Sospiro.
Grishka

5

Solo come punto di aggiunta, se desideri eseguire i tuoi test su più dispositivi, non puoi selezionare più dispositivi nella finestra di dialogo di selezione dei dispositivi per un profilo di test. Invece, devi eseguire il comando gradle connectedCheck. Questo esegue i tuoi test su tutti i dispositivi collegati. Non esiste un'interfaccia utente incorporata (come se si eseguano test su un singolo dispositivo), ma fornisce un collegamento a un file HTML generato localmente con il riepilogo del test.

Puoi eseguire dalla riga di comando o all'interno di AS, guarda nella Gradle projectsfinestra sotto: App (o progetto root) -> Attività-> verifica.

Rif: https://stackoverflow.com/a/18592367/1544046 : Descrive gli emulatori, ma funziona anche per i dispositivi


0

A partire da Android Studio 2.3.3 Disabilita l'esecuzione istantanea usa Menu Esegui-> Esegui app (in Windows Shift + fai clic per il dispositivo che desideri distribuire)

non puoi distribuire su più dispositivi se hai usato run-> debug app


0

È facile eseguire ogni volta tutti i dispositivi collegati. Seleziona semplicemente tutti i dispositivi collegati mentre Android Studio mostra Seleziona destinazione di distribuzione e seleziona "Usa la stessa selezione per lanci futuri".

NB Ricorda che tutti i dispositivi funzionano in sequenza uno per uno.

inserisci qui la descrizione dell'immagine



0

Android Studio 3.5+ presenta un problema durante la selezione e l'esecuzione di più dispositivi in ​​sequenza:

Biglietto: https://issuetracker.google.com/issues/140056248

Dobbiamo aspettare fino a quando Google risolverà questo problema.

Se hai bisogno di questa versione, usa Android Studio 3.5 e versioni precedenti.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.