Uruchamianie aplikacji na urządzeniu sprzętowym

Zanim udostępnisz aplikację na Androida użytkownikom, zawsze przetestuj ją na prawdziwym urządzeniu. Na tej stronie dowiesz się, jak skonfigurować środowisko programistyczne i urządzenie z Androidem do testowania i debugowania za pomocą połączenia Android Debug Bridge (ADB).

Konfigurowanie urządzenia do programowania

Zanim zaczniesz debugować na urządzeniu, zdecyduj, czy chcesz połączyć się z nim za pomocą kabla USB czy Wi-Fi. Następnie wykonaj te czynności:

  1. Na urządzeniu otwórz aplikację Ustawienia , wybierz Opcje programisty , a następnie włącz Debugowanie USB (jeśli dotyczy).

  2. Skonfiguruj system tak, aby wykrywał urządzenie.

    • ChromeOS: nie wymaga dodatkowej konfiguracji.
    • macOS: nie wymaga dodatkowej konfiguracji.
    • Windows: zainstaluj sterownik USB dla ADB (jeśli dotyczy). Przewodnik instalacji i linki do sterowników OEM znajdziesz w artykule Instalowanie sterowników USB OEM.
    • Ubuntu Linux: skonfiguruj te ustawienia:

      • Każdy użytkownik, który chce korzystać z ADB, musi należeć do grupy plugdev. Jeśli zobaczysz komunikat o błędzie informujący, że nie należysz do grupy plugdev, dodaj się do niej za pomocą tego polecenia:
      sudo usermod -aG plugdev $LOGNAME
      

      Grupy są aktualizowane tylko podczas logowania, więc musisz się wylogować, aby zmiany zostały zastosowane. Po ponownym zalogowaniu możesz użyć polecenia id, aby sprawdzić, czy należysz do grupy plugdev.

      • W systemie muszą być zainstalowane reguły udev obejmujące urządzenie. Pakiet android-sdk-platform-tools-common zawiera domyślny zestaw reguł udev dla urządzeń z Androidem, który jest utrzymywany przez społeczność. Aby go zainstalować, użyj tego polecenia:
      apt-get install android-sdk-platform-tools-common
      

Łączenie się z urządzeniem przez USB

Gdy wszystko jest skonfigurowane i podłączone przez USB, kliknij Uruchom w Android Studio, aby skompilować i uruchomić aplikację na urządzeniu.

Możesz też użyć adb, aby wydawać polecenia, w ten sposób:

  • Sprawdź, czy urządzenie jest podłączone, uruchamiając polecenie adb devices z katalogu android_sdk/platform-tools/. Jeśli urządzenie jest podłączone, zobaczysz je na liście.
  • Aby kierować polecenia adb na urządzenie, użyj flagi -d .

Łączenie się z urządzeniem przez Wi-Fi

Android 11 i nowsze wersje obsługują wdrażanie i debugowanie aplikacji bezprzewodowo ze stacji roboczej za pomocą Android Debug Bridge (ADB). Możesz na przykład wdrożyć aplikację z możliwością debugowania na wielu urządzeniach zdalnych bez fizycznego podłączania urządzenia przez USB i rozwiązywania typowych problemów z połączeniem USB, takich jak instalacja sterownika.

Android 17 wraz z adb 37.0.0 wprowadza adb Wi-Fi 2.0, które rozwiązuje wiele problemów z użytecznością poprzedniej wersji. Urządzenie automatycznie połączy się ze stacją roboczą, gdy połączy się z zaufaną siecią do debugowania bezprzewodowego.

Aby używać debugowania bezprzewodowego, musisz sparować urządzenie ze stacją roboczą za pomocą kodu parowania. Aby rozpocząć, wykonaj te czynności:

  1. Upewnij się, że stacja robocza i urządzenie są połączone z tą samą siecią bezprzewodową.
  2. Upewnij się, że na urządzeniu jest zainstalowany Android 11 lub nowszy. Więcej informacji znajdziesz w artykule Sprawdzanie i aktualizowanie wersji Androida.
  3. Upewnij się, że masz zainstalowaną najnowszą wersję Android Studio. Pobierz ją tutaj.
  4. Na stacji roboczej zaktualizuj narzędzia platformy SDK do najnowszej wersji .

Aby sparować urządzenie, wykonaj te czynności:

  1. Włącz opcje programisty na urządzeniu.
  2. Na urządzeniu kliknij Debugowanie bezprzewodowe.

    Telefon Pixel z wyświetlonym monitem o debugowaniu bezprzewodowym.
    Rysunek 1. Prośba o debugowanie bezprzewodowe na telefonie Google Pixel.

  3. Zezwól na debugowanie bezprzewodowe w swojej sieci. Pamiętaj, że kliknięcie pola wyboru Zawsze zezwalaj w tej sieci spowoduje, że sieć stanie się zaufaną siecią do debugowania bezprzewodowego. Urządzenie zawsze będzie zezwalać na debugowanie bezprzewodowe w tej sieci, gdy tylko się z nią połączy.

    Telefon Pixel z wyświetlonym ustawieniem systemów debugowania bezprzewodowego.
    Rysunek 2. Ustawienie Debugowanie bezprzewodowe na telefonie Google Pixel phone.

  4. Otwórz Android Studio i w menu konfiguracji uruchamiania wybierz Sparuj urządzenia przez Wi-Fi.

    Menu Konfiguracje uruchamiania
    Rysunek 3. Menu konfiguracji uruchamiania menu.

  5. Pojawi się okno Sparuj urządzenia przez Wi-Fi, jak pokazano na rysunku 4.

    Wyskakujące okienko parowania urządzeń przez Wi-Fi
    Rysunek 4. Okno parowania urządzeń przez Wi-Fi.

    Urządzenie możesz też sparować w Menedżerze urządzeń. Na przykład My Pixel.

    Menedżer urządzeń z urządzeniem dostępnym do sparowania przez Wi-Fi
    Rysunek 5. Menedżer urządzeń z urządzeniem dostępnym do parowania przez Wi-Fi.

  6. Kliknij Pair na urządzeniu, które chcesz sparować. Pojawi się okno parowania urządzenia.

    1. Aby sparować urządzenie za pomocą kodu QR, kliknij Sparuj urządzenie przy pomocy kodu QR i zeskanuj kod QR.
      Wyskakujące okienko parowania urządzeń przez Wi-Fi
      Rysunek 6. Okno parowania urządzenia za pomocą kodu QR.
    2. Aby sparować urządzenie za pomocą kodu parowania, w oknie Sparuj nowe urządzenia przez Wi-Fi kliknij Sparuj urządzenie przy pomocy kodu parowania. Na urządzeniu kliknij Sparuj przy pomocy kodu parowania. Pojawi się 6-cyfrowy kod. Gdy urządzenie pojawi się w oknie Sparuj urządzenia przez Wi-Fi , wpisz 6-cyfrowy kod wyświetlany na urządzeniu i kliknij Sparuj .
      Przykładowy kod parowania
      Rysunek 7. Przykład wpisywania 6-cyfrowego kodu parowania.
  7. Po sparowaniu możesz spróbować wdrożyć aplikację na urządzeniu.

Aby rozparować stację roboczą, na urządzeniu otwórz Debugowanie bezprzewodowe. W sekcji Sparowane urządzenia kliknij nazwę stacji roboczej i wybierz Zapomnij. Możesz też kliknąć Cofnij autoryzacje debugowania ADB na stronie Ustawienia urządzenia, aby rozparować stację roboczą i wszystkie inne wcześniej sparowane stacje robocze.

Klonowanie urządzenia

Możesz klonować urządzenie fizyczne w oknie Uruchomione urządzenia w Android Studio. Dzięki strumieniowaniu wyświetlacza urządzenia bezpośrednio do Android Studio możesz używać samego środowiska IDE Studio do wykonywania typowych działań, takich jak uruchamianie aplikacji i interakcja z nimi, obracanie ekranu, składanie i rozkładanie telefonu oraz zmienianie głośności.

Klonowanie urządzenia jest zawsze dostępne, gdy do komputera są podłączone urządzenia z włączonym debugowaniem USB lub debugowaniem bezprzewodowym. Klonowanie możesz rozpocząć i zatrzymać w oknie Uruchomione urządzenia lub w Menedżerze urządzeń (Widok > Okna narzędzi > Menedżer urządzeń). Możesz też dostosować, kiedy klonowanie urządzenia ma być aktywowane, w jego ustawieniach (Ustawienia > Narzędzia > Klonowanie urządzenia).

Interfejs uruchomionych urządzeń

Przekierowywanie dźwięku

Gdy używasz klonowania urządzenia, możesz przekierowywać dźwięk z podłączonych urządzeń fizycznych do głośników lub słuchawek komputera. Dzięki przekierowywaniu dźwięku możesz mieć słuchawki podłączone do komputera i słuchać zarówno komputera, jak i podłączonego telefonu bez konieczności ręcznego przełączania się między urządzeniami. Aby włączyć przekierowywanie dźwięku, kliknij Plik (Android Studio w macOS) > Ustawienia > Narzędzia > Klonowanie urządzenia i wybierz Przekierowuj dźwięk z urządzeń lokalnych. Pamiętaj, że w przypadku urządzeń Laboratorium Firebase z Androidem 12 lub nowszym dźwięk jest zawsze przekierowywany niezależnie od ustawień.

Znane problemy

Niektóre urządzenia mogą nie być w stanie kodować z przepływnością wystarczającą do obsługi klonowania urządzenia. W takich sytuacjach w oknie Uruchomione urządzenia może pojawić się błąd, a także logi podobne do tych:

2023-06-01 15:32:22,675 [  56094]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - Too many video encoder errors:
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - encoder: c2.android.vp8.encoder
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - mime type: video/x-vnd.on2.vp8
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max resolution: 640x640
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - min resolution: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - alignment: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate: 960
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate for 288x640: 960
2023-06-01 15:32:22,870 [  56289]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max bitrate: 20000000
2023-06-01 15:32:22,871 [  56290]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - terminated with code 1

Informacje na temat ochrony prywatności

W zależności od ustawień klonowania urządzenia Android Studio może automatycznie uruchamiać klonowanie urządzenia w przypadku każdego podłączonego i sparowanego urządzenia. Może to spowodować ujawnienie informacji w przypadku urządzeń podłączonych za pomocą polecenia adb tcpip, ponieważ informacje i polecenia klonowania są przekazywane przez niezaszyfrowany kanał. Ponadto Android Studio używa niezaszyfrowanego kanału do komunikacji z serwerem adb, więc informacje o klonowaniu mogą zostać przechwycone przez innych użytkowników na komputerze hosta.

Rozwiązywanie problemów z połączeniem urządzenia

Jeśli urządzenie nie łączy się z Android Studio, spróbuj wykonać te czynności, aby rozwiązać problem:

Rozwiązywanie problemów za pomocą Asystenta połączenia

Asystent połączenia zawiera szczegółowe instrukcje, które pomogą Ci skonfigurować i używać urządzenia za pomocą połączenia ADB.

Aby uruchomić asystenta, kliknij Narzędzia > Rozwiązywanie problemów z połączeniami urządzeń.

Asystent połączenia zawiera instrukcje, elementy sterujące w kontekście i listę podłączonych urządzeń na kilku stronach w panelu Asystent. Aby w razie potrzeby przechodzić między stronami, użyj przycisków Dalej i Wstecz u dołu panelu Asystent:

  • Podłącz urządzenie przez USB: Asystent połączenia najpierw poprosi Cię o podłączenie urządzenia przez USB i wyświetli przycisk Ponownie przeskanuj urządzenia USB , za pomocą którego możesz rozpocząć nowe skanowanie podłączonych urządzeń.
  • Włącz debugowanie USB: Asystent połączenia poinformuje Cię, jak włączyć debugowanie USB w opcjach programisty na urządzeniu.
  • Uruchom ponownie serwer ADB: jeśli nadal nie widzisz urządzenia na liście dostępnych urządzeń, na ostatniej stronie Asystenta połączenia kliknij przycisk Uruchom ponownie serwer ADB. Ponowne uruchomienie serwera ADB spowoduje też ponowne przeskanowanie urządzeń przez ADB. Jeśli nadal nie widzisz urządzenia na liście dostępnych urządzeń, wykonaj czynności opisane w następnej sekcji.

Rozwiązywanie problemów z połączeniem USB

Jeśli Asystent połączenia nie wykrywa urządzenia przez USB, spróbuj wykonać te czynności, aby rozwiązać problem:

Sprawdzanie, czy Android Studio łączy się z Emulatorem Androida

Aby sprawdzić, czy problem jest spowodowany problemem z połączeniem między Android Studio a Emulatorem Androida, wykonaj te czynności:

  1. Otwórz Menedżera urządzeń.
  2. Utwórz nowe AVD, jeśli jeszcze go nie masz.
  3. Uruchom emulator za pomocą AVD.
  4. Wykonaj jedną z tych czynności:
    • Jeśli Android Studio nie może połączyć się z emulatorem, pobierz najnowsze narzędzia platformy SDK i spróbuj ponownie.
    • Jeśli emulator uruchomi się prawidłowo, sprawdź kabel USB zgodnie z opisem w następnej sekcji.

Sprawdzanie kabla USB

Aby sprawdzić, czy problem jest spowodowany uszkodzonym kablem USB, wykonaj czynności opisane w tej sekcji.

Jeśli masz inny kabel USB:

  1. Podłącz urządzenie za pomocą drugiego kabla.
  2. Sprawdź, czy Asystent połączenia może teraz wykryć urządzenie.
  3. Jeśli urządzenie nie zostanie wykryte, spróbuj ponownie użyć głównego kabla.
  4. Jeśli urządzenie nadal nie jest wykrywane, załóż, że problem dotyczy urządzenia, i sprawdź, czy jest ono skonfigurowane do programowania zgodnie z opisem w następnej sekcji.

Jeśli nie masz innego kabla USB, ale masz inne urządzenie z Androidem:

  1. Podłącz drugie urządzenie do komputera.
  2. Jeśli Asystent połączenia wykryje drugie urządzenie, załóż, że problem dotyczy urządzenia głównego, i sprawdź, czy jest ono skonfigurowane do programowania.

    Jeśli drugie urządzenie nie zostanie wykryte, problem może dotyczyć kabla USB.

Sprawdzanie, czy urządzenie jest skonfigurowane do programowania

Aby sprawdzić, czy problem jest spowodowany ustawieniami na urządzeniu, wykonaj te czynności:

  1. Wykonaj czynności opisane w sekcji Konfigurowanie urządzenia do programowania.
  2. Jeśli to nie rozwiąże problemu, skontaktuj się z obsługą klienta producenta urządzenia. Poinformuj pracownika obsługi klienta, że urządzenie nie łączy się z Android Studio za pomocą ADB.

Rozwiązywanie problemów z połączeniem bezprzewodowym

Jeśli masz problemy z połączeniem bezprzewodowym z urządzeniem, spróbuj wykonać te czynności, aby rozwiązać problem:

Sprawdzanie, czy stacja robocza i urządzenie spełniają wymagania wstępne

Sprawdź, czy stacja robocza i urządzenie spełniają wymagania wstępne.

Sprawdzanie przewodnika rozwiązywania problemów z ADB

Postępuj zgodnie z instrukcjami w przewodniku rozwiązywania problemów z ADB .

Klucz bezpieczeństwa RSA

Gdy podłączysz do komputera urządzenie z Androidem 4.2.2 (API na poziomie 17) lub nowszym, system wyświetli okno z pytaniem, czy zaakceptować klucz RSA, który umożliwia debugowanie za pomocą tego komputera. Ten mechanizm bezpieczeństwa chroni urządzenia użytkowników, ponieważ debugowanie USB i inne polecenia adb nie mogą być wykonywane, dopóki nie odblokujesz urządzenia i nie potwierdzisz okna.