Uruchamianie aplikacji na urządzeniu sprzętowym

Zawsze przed udostępnieniem aplikacji użytkownikom testuj ją na prawdziwym urządzeniu. Na tej stronie opisujemy, jak skonfigurować środowisko programistyczne i urządzenie z Androidem do testowania i debugowania przez połączenie Android Debug Bridge (ADB).

Konfigurowanie urządzenia na potrzeby programowania

Zanim rozpoczniesz debugowanie na urządzeniu, zdecyduj, czy chcesz je połączyć kablem USB czy przez Wi-Fi. Następnie:

  1. Otwórz na urządzeniu aplikację Ustawienia, wybierz Opcje programisty, a potem włącz Debugowanie USB (w razie potrzeby).

  2. Skonfiguruj system pod kątem wykrywania urządzenia.

    • ChromeOS: nie jest wymagana dodatkowa konfiguracja.
    • macOS: nie jest wymagana dodatkowa konfiguracja.
    • Windows: zainstaluj sterownik USB dla ADB (jeśli jest dostępny). Przewodnik instalacji i linki do sterowników OEM znajdziesz w artykule Instalowanie sterowników USB OEM.
    • Ubuntu Linux: skonfiguruj te elementy:

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

      Grupy aktualizują się tylko podczas logowania, więc musisz się wylogować, aby zmiana zaczęła obowiązywać. Gdy ponownie się zalogujesz, możesz za pomocą id sprawdzić, czy jesteś w grupie plugdev.

      • System musi mieć zainstalowane reguły udev, które obejmują urządzenie. Pakiet android-sdk-platform-tools-common zawiera zarządzany przez społeczność domyślny zestaw reguł udev dla urządzeń z Androidem. Aby ją zainstalować, użyj tego polecenia:
      apt-get install android-sdk-platform-tools-common
      

Połącz z urządzeniem przez USB

Gdy skonfigurujesz aplikację i podłączysz ją przez USB, kliknij Uruchom w Android Studio, aby skompilować i uruchomić aplikację na urządzeniu.

Polecenia możesz też wydawać za pomocą adb w ten sposób:

  • Sprawdź, czy urządzenie jest połączone, uruchamiając polecenie adb devices z katalogu android_sdk/platform-tools/. Jeśli połączono, zobaczysz urządzenie na liście.
  • Wykonaj dowolne polecenie adb z flagą -d, aby ustawić kierowanie na Twoje urządzenie.

Połącz się z urządzeniem przez Wi-Fi

Android 11 i nowsze wersje umożliwiają bezprzewodowe wdrażanie i debugowanie aplikacji na 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 rywalizacji z typowymi problemami z połączeniem USB, takimi jak instalacja sterownika.

Aby skorzystać z debugowania bezprzewodowego, musisz sparować urządzenie ze stacją roboczą, używając 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. Możesz go pobrać stąd.
  4. Na stacji roboczej zaktualizuj narzędzia SDK do najnowszej wersji.

Aby połączyć się z urządzeniem, wykonaj te czynności:

  1. Otwórz Android Studio i wybierz Sparuj urządzenia przy użyciu Wi-Fi z menu uruchamiania konfiguracji.
    Menu uruchamiania konfiguracji
    Rysunek 1. Uruchom menu konfiguracji.

    Pojawi się okno Parowanie urządzeń przez Wi-Fi, tak jak na ilustracji 2.
    Zrzut ekranu pokazujący parowanie urządzeń przez Wi-Fi
    Rysunek 2. Okno umożliwiające sparowanie urządzeń za pomocą kodu QR lub kodu parowania.
  2. Włącz na urządzeniu opcje programisty.
  3. Włącz na urządzeniu debugowanie przez Wi-Fi.
    Zrzut ekranu telefonu Pixel z ustawieniem Bezprzewodowe systemy debugowania.
    Rysunek 3. Ustawienie Debugowanie bezprzewodowe na telefonie Google Pixel.
  4. Kliknij Debugowanie bezprzewodowe i sparuj urządzenie:
    1. Aby sparować urządzenie z kodem QR, wybierz Sparuj urządzenie z kodem QR i zeskanuj kod QR widoczny na ilustracji 2.
    2. Aby sparować urządzenie z kodem parowania, wybierz Sparuj urządzenie za pomocą kodu parowania w oknie Parowanie nowych urządzeń przez Wi-Fi. Na urządzeniu wybierz Sparuj za pomocą 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świetlony na urządzeniu i kliknij Sparuj .
      Zrzut ekranu z przykładowym kodem parowania
      Rysunek 4. Przykład 6-cyfrowego kodu parowania.
  5. Po sparowaniu możesz spróbować wdrożyć aplikację na urządzeniu.

Aby sparować inne urządzenie lub zapomnieć to urządzenie na stacji roboczej:

  1. Otwórz Debugowanie bezprzewodowe na urządzeniu.
  2. Kliknij nazwę stacji roboczej w sekcji Sparowane urządzenia.
  3. Kliknij Zapomnij.

Dublowanie urządzenia

Możesz wyświetlić odbicie lustrzane urządzenia fizycznego w oknie Uruchomione urządzenia w Android Studio. Dzięki strumieniowemu przesyłaniu wyświetlacza urządzenia bezpośrednio do Android Studio możesz korzystać z samego środowiska IDE Studio do wykonywania typowych działań, takich jak uruchamianie aplikacji i korzystanie z nich, obracanie ekranu, składanie i rozkładanie telefonu oraz zmienianie głośności.

Powielanie urządzeń jest zawsze dostępne, gdy do komputera podłączone są urządzenia, na których włączono debugowanie USB lub debugowanie bezprzewodowe. Powielanie możesz uruchomić i zatrzymać w oknie Uruchomione urządzenia lub w Menedżerze urządzeń (Widok > Narzędzia > Okna narzędzi > Menedżer urządzeń). W ustawieniach możesz też określić, kiedy ta funkcja ma być włączona (Ustawienia > Narzędzia > Duplikowanie urządzenia).

Interfejs uruchomionych urządzeń

Znane problemy

Niektóre urządzenia mogą nie mieć możliwości kodowania z szybkością transmisji wystarczającej do powielania treści. W takiej sytuacji w oknie Uruchomione urządzenia może pojawić się błąd oraz dzienniki podobne do tych poniżej.

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

Na podstawie ustawień powielania urządzeń Android Studio może automatycznie rozpocząć tworzenie odbicia lustrzanego urządzenia na dowolnych połączonych i sparowanych urządzeniach. Może to spowodować ujawnienie informacji o urządzeniach połączonych za pomocą polecenia adb tcpip, ponieważ powielane informacje i polecenia są przekazywane przez niezaszyfrowany kanał. Dodatkowo Android Studio do komunikacji z serwerem adb używa nieszyfrowanego kanału, dzięki czemu informacje powielone mogą zostać przechwycone przez innych użytkowników na hoście.

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

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

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

Asystent połączeń udostępnia szczegółowe instrukcje konfigurowania urządzenia i korzystania z niego przez połączenie ADB.

Aby uruchomić Asystenta, wybierz Narzędzia > Rozwiązywanie problemów z połączeniami urządzenia.

Asystent połączeń wyświetla instrukcje, dostępne w kontekście elementy sterujące oraz listę połączonych urządzeń na serii stron w panelu Asystenta. W razie potrzeby możesz przeglądać strony za pomocą przycisków Dalej i Wstecz u dołu panelu Asystent:

  • Połącz urządzenie przez USB: Asystent połączeń najpierw poprosi o podłączenie urządzenia przez USB, a także wyświetli przycisk Skanuj ponownie urządzenia USB, aby umożliwić rozpoczęcie nowego skanowania w poszukiwaniu połączonych urządzeń.
  • Włącz debugowanie USB: Asystent połączeń poinformuje Cię, jak włączyć debugowanie USB w opcjach programisty na urządzeniu.
  • Ponownie uruchom serwer ADB: jeśli nadal nie widzisz swojego urządzenia na liście dostępnych urządzeń, kliknij przycisk Uruchom ponownie serwer ADB na ostatniej stronie Asystenta połączenia. Ponowne uruchomienie serwera ADB powoduje też ponowne skanowanie w poszukiwaniu urządzeń. Jeśli nadal nie widzisz swojego urządzenia na liście dostępnych urządzeń, spróbuj rozwiązać problem, korzystając z instrukcji podanych w następnej sekcji.

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

Jeśli Asystent połączeń nie wykryje urządzenia przez USB, spróbuj rozwiązać problem, wykonując te czynności:

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

Aby sprawdzić, czy przyczyną problemu nie jest połączenie między Android Studio a emulatorem Androida, wykonaj te czynności:

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

Sprawdź kabel USB

Aby sprawdzić, czy przyczyną problemu jest wadliwy kabel USB, wykonaj czynności opisane w tej sekcji.

Jeśli masz inny kabel USB:

  1. Podłącz urządzenie za pomocą dodatkowego kabla.
  2. Sprawdź, czy Asystent połączeń może teraz wykryć urządzenie.
  3. Jeśli urządzenie nie zostanie wykryte, spróbuj ponownie użyć kabla głównego.
  4. Jeśli urządzenie nadal nie zostanie wykryte, załóż, że problem jest związany z urządzeniem, i sprawdź, czy urządzenie jest skonfigurowane do programowania, jak opisano w następnej sekcji.

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

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

    Jeśli dodatkowe urządzenie nie zostanie wykryte, problem może być związany z kablem USB.

Sprawdzanie, czy urządzenie jest skonfigurowane do programowania

Aby sprawdzić, czy przyczyną problemu są ustawienia urządzenia, wykonaj te czynności:

  1. Wykonaj czynności opisane w sekcji Konfigurowanie urządzenia na potrzeby programowania.
  2. Jeśli to nie rozwiąże problemu, skontaktuj się z obsługą klienta producenta OEM. Poinformuj przedstawiciela działu obsługi klienta, że urządzenie nie łączy się z Androidem Studio przez ADB.

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

Jeśli masz problem z bezprzewodowym połączeniem się z urządzeniem, możesz wypróbować te rozwiązania:

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

Aby spełnić wymagania wstępne dotyczące debugowania bezprzewodowego, upewnij się, że:

Sprawdź, czy nie wystąpiły inne znane problemy

Poniżej znajdziesz listę znanych problemów z debugowaniem bezprzewodowym w Android Studio, a także sposoby ich rozwiązania:

  • Wi-Fi nie łączy się: niektóre sieci Wi-Fi, np. firmowe sieci Wi-Fi, mogą blokować połączenia p2p i uniemożliwiać połączenie przez Wi-Fi. Spróbuj połączyć się za pomocą kabla lub innej sieci Wi-Fi.
  • ADB przez Wi-Fi czasem wyłącza się automatycznie: może się tak zdarzyć, gdy urządzenie przełączy sieć Wi-Fi lub rozłączy się z siecią.

Klucz bezpieczeństwa RSA

Gdy podłączysz do komputera urządzenie z Androidem 4.2.2 (poziom interfejsu API 17) lub nowszym, system wyświetli okno z pytaniem, czy chcesz zaakceptować klucz RSA, który umożliwia debugowanie na tym komputerze. Ten mechanizm zabezpieczeń chroni urządzenia użytkowników, ponieważ nie można wykonywać debugowania przez USB ani innych poleceń adb, dopóki nie odblokujesz urządzenia i potwierdzisz wyświetlenie okna.