Uruchom aplikację na wielu urządzeniach automatycznie w Android Studio

112

Mam wiele urządzeń z Androidem podłączonych do komputera. Kiedy próbuję uruchomić aplikację, którą tworzę, Android Studio zawsze wyświetla monit o wybranie urządzenia. Czy istnieje sposób, aby automatycznie wdrożyć aplikację na wielu urządzeniach - klikając opcję Uruchom lub jeszcze lepiej za pomocą skrótu?

tomrozb
źródło
Przypuszczalnie możesz amużyć skryptu użycia polecenia powłoki adb, które można znaleźć w dokumentacji Androida lub w wielu pytaniach tutaj, użyć czegoś takiego jak xargs lub pętla for do iteracji na wszystkich urządzeniach, a następnie skonfigurować IDE do uruchamiania skryptu z niestandardowy przycisk lub menu. Jeśli spodziewasz się również (ponownej) instalacji, musisz adb install -r somefile.apknajpierw w swoim skrypcie.
Chris Stratton,

Odpowiedzi:

304

Właściwie jest to prawie zbyt łatwe. Gdy zobaczysz listę urządzeń, która pojawia się po uruchomieniu aplikacji, po prostu przesuń lub kontroluj kliknięcie każdego urządzenia, na którym chcesz je uruchomić. Właśnie odkryłem to przez przypadek. Mam nadzieję, że to pomoże.

damccull
źródło
19
Tak, ale ponieważ nigdy nie udzielono odpowiedzi na to pytanie, inni będą teraz wiedzieć, jak to zrobić. W interfejsie nie jest to do końca oczywiste.
damccull
Jaką wersję ide używasz? Jeśli nie masz najnowszej wersji, zaktualizuj.
damccull
jeśli zmienisz kursor, wybierzesz wszystkie urządzenia i klikniesz „Uruchom na tym samym urządzeniu następnym razem”, nawet jeśli nie spowoduje to „wstawienia liczby mnogiej” urządzeń, uruchomi się automatycznie na następnym razem.
OWADVL
czy istnieje sposób, aby to zrobić na komputerze Mac? Nie mogłem wybrać wielu urządzeń.
broni
12
Och, właśnie zdałem sobie sprawę, że próbuję debugować aplikacje, a nie uruchamiać. AS pozwala na uruchomienie wielu urządzeń, ale debugowanie tylko jednego.
broni
30

W przypadku nowych użytkowników w Android Studio 2 należy również wyłączyć opcję „Natychmiastowe uruchamianie” w Ustawienia-> Kompilacja, wykonanie, wdrażanie-> Natychmiastowe uruchamianie. Zobacz Instant Run .

Dzięki funkcji Instant Run możesz pracować jednocześnie tylko z jednym urządzeniem.

AKTUALIZACJA

W Android Studio 2.1 jest automatycznie wyłączany, gdy jest uruchamiany na wielu urządzeniach w tym samym czasie.

Wdrażanie na wielu urządzeniach

Funkcja Instant Run wykorzystuje różne techniki do wykonywania zamian na gorąco, na ciepło i na zimno, które są specyficzne dla poziomu interfejsu API urządzenia docelowego. Z tego powodu podczas wdrażania aplikacji na wielu urządzeniach jednocześnie Android Studio tymczasowo wyłącza funkcję Instant Run.

Rafael Gutiérrez
źródło
1
Android Studio 2.3, ta lub którakolwiek z poprzednich odpowiedzi nie działa. Naprawdę mam nadzieję, że istnieje na to rozwiązanie.
ᴛʜᴇᴘᴀᴛᴇʟ
6

Otrzymałem nową aktualizację Android Studio, czyli 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

W tej aktualizacji dodali wbudowaną opcję uruchamiania aplikacji na wielu urządzeniach.

Środowisko IDE ma nowe menu rozwijane, które pozwala szybko wybrać urządzenie, na którym chcesz wdrożyć aplikację. To menu zawiera również nową opcję, która umożliwia uruchamianie aplikacji na wielu urządzeniach jednocześnie.

wprowadź opis obrazu tutaj

Zaktualizuj nową wersję Android Studio i ciesz się.

Pratik Butani
źródło
15
Niestety, to nie zapamiętuje twojego wyboru, więc musisz wybierać je ponownie za każdym razem, gdy uruchamiasz.
Ryan R
13
Tak, ta aktualizacja jest powodem, dla którego tu jestem. To pogarsza sytuację, ponieważ obejście i zapamiętaj już nie działa. Sprawdźmy informacje o wydaniu 3.6 Canary :-)
Christian Ruppert
Tak, nie był pierwszy, dalsze informacje można znaleźć tutaj: stackoverflow.com/questions/57613864/ ...
Christian Ruppert
3
Nie podoba mi się to, że nie pamiętam wyboru na wielu urządzeniach i próbuję uruchomić na emulatorze, jeśli nowo podłączone urządzenie nie zostało jeszcze rozpoznane. Po raz kolejny naprawili coś, co nigdy nie zostało zepsute. Westchnienie.
Grishka
5

Dodatkowo, jeśli chcesz przeprowadzić testy na wielu urządzeniach, nie możesz wybrać wielu urządzeń w oknie dialogowym wyboru urządzeń dla profilu testowego. Zamiast tego musisz uruchomić polecenie gradle connectedCheck. Spowoduje to uruchomienie testów na wszystkich podłączonych urządzeniach. Nie ma dla niego wbudowanego interfejsu użytkownika (tak jak w przypadku uruchamiania testów na jednym urządzeniu), ale zapewnia łącze do lokalnie wygenerowanego pliku HTML z podsumowaniem testu.

Możesz uruchomić z linii poleceń lub w AS, spójrz w Gradle projectsokno pod: Aplikacja (lub projekt główny) -> Zadania-> weryfikacja.

Ref: https://stackoverflow.com/a/18592367/1544046 : Opisuje emulatory, ale działa również dla urządzeń

JCricket
źródło
0

Od Android Studio 2.3.3 Wyłącz natychmiastowe uruchamianie użyj menu Uruchom-> Uruchom aplikację (w systemie Windows shift + kliknij urządzenie, które chcesz wdrożyć)

nie możesz wdrożyć na wielu urządzeniach, jeśli użyłeś aplikacji run-> debug

Sam
źródło
0

Za każdym razem łatwo jest uruchomić wszystkie podłączone urządzenia. Po prostu wybierz wszystkie podłączone urządzenia, gdy Android Studio wyświetli Wybierz cel wdrożenia i wybierz „Użyj tego samego wyboru przy przyszłych uruchomieniach”.

Uwaga: wszystkie urządzenia działają sekwencyjnie, jedno po drugim.

wprowadź opis obrazu tutaj

Shihab Uddin
źródło
0

W Android Studio 3.5. Działa na wielu urządzeniach.

wprowadź opis obrazu tutaj

linkaipeng
źródło
1
Wciąż nie pamięta mojego wyboru na wielu urządzeniach
Anbuselvan Rocky
0

W Android Studio 3.5+ występuje problem podczas sekwencyjnego wybierania i uruchamiania wielu urządzeń:

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

Musimy poczekać, aż Google naprawi ten problem.

Jeśli potrzebujesz tej wersji, użyj Android Studio 3.5 lub niższego.

Merlin Jeyakumar
źródło
-3

Bardzo prosty.

CTRL + Shift na każdym urządzeniu.

To wszystko

Richard Kamere
źródło