ADB i testowanie aplikacji na Androida

Możliwość uruchamiania aplikacji na Androida na Chromebooku jest świetna, ponieważ daje użytkownikom dostęp do bogatej oferty ekosystemu Androida, a deweloperom aplikacji na Androida – możliwość dotarcia do użytkowników ChromeOS.

Deweloperzy powinni sprawdzać swoje aplikacje na różnych urządzeniach, ponieważ pomoże to poprawić wrażenia użytkowników. Dlatego ChromeOS udostępnia deweloperom aplikacji na Androida narzędzia do wdrażania i testowania aplikacji na Chromebookach.

Niezależnie od tego, czy deweloperzy wdrażają aplikację na Androida bezpośrednio z ChromeOS (za pomocą Android Studio na Chromebooku), czy z innego urządzenia, mogą używać ADB do wdrażania aplikacji i debugowania różnych interakcji z Chromebookami. Więcej informacji znajdziesz w krokach poniżej.

Włączanie debugowania ADB

Wcześniej korzystanie z ADB na Chromebooku było możliwe tylko w trybie programisty, co wymagało wykonania funkcji Powerwash (zresetowania) urządzenia i mogło obniżyć poziom bezpieczeństwa. Na szczęście od Chrome 81 deweloperzy mogą wyłączyć tryb deweloperski na swoich urządzeniach i nadal wdrażać opracowywane przez siebie aplikacje bezpośrednio w ChromeOS. Wystarczy tylko przełączyć odpowiedni przycisk. Instr:

Najpierw sprawdź, czy Chromebook nie jest w trybie programisty. Następnie otwórz ustawienia i włącz Linuksa (jeśli nie zostało to jeszcze zrobione).

Włączanie Linuksa

Gdy system Linux będzie dostępny, otwórz jego ustawienia i znajdź nową opcję „Tworzenie aplikacji na Androida”. Otwórz ją.

Włącz debugowanie ADB, a komputer zostanie ponownie uruchomiony.

Włączanie debugowania ADB

Po ponownym uruchomieniu komputera zobaczysz komunikat z informacją, że na urządzeniu mogą być aplikacje, które nie zostały pobrane ze sklepu z aplikacjami.

Na tym urządzeniu mogą być zainstalowane aplikacje niezweryfikowane przez Google

ADB jest teraz dostępny do wdrażania aplikacji na Chromebooku, uruchamiania poleceń debugowania i bezpośredniego korzystania z urządzenia.

Aby mieć pewność, że aplikacja na Androida działa prawidłowo na różnych Chromebookach i w różnych formatach, Google zaleca przetestowanie jej na tych urządzeniach:

  • Chromebook z procesorem ARM
  • Chromebook z procesorem x86
  • Urządzenie z ekranem dotykowym i urządzenie bez ekranu dotykowego
  • urządzenie konwertowalne, czyli takie, które może służyć jako laptop i tablet;
  • Urządzenie z rysikiem

Wdrażanie z ChromeOS

Po włączeniu debugowania ADB możesz wgrać aplikację na Androida bezpośrednio na urządzenie z ChromeOS za pomocą Android Studio lub, jeśli masz plik APK, możesz go wgrać za pomocą Terminala.

Wdrażanie za pomocą Android Studio

Po skonfigurowaniu Android Studio i ADB zgodnie z powyższymi instrukcjami możesz przesyłać aplikacje do kontenera Androida na Chromebooku bezpośrednio z Android Studio.

Chromebook pojawi się jako opcja w menu urządzenia:

Menu urządzeń w Android Studio

Teraz możesz przesłać aplikację tak jak na każde inne urządzenie z Androidem. Gdy po raz pierwszy spróbujesz przesłać dane na nowe urządzenie, pojawi się okno autoryzacji ADB. Po autoryzacji aplikacja otworzy się w nowym oknie.

Łączenie się z urządzeniem za pomocą ADB w Android Studio

To wszystko. Możesz teraz wdrożyć aplikację na Chromebooku, przetestować ją i usunąć z niej błędy bez konieczności przełączania się w tryb deweloperski.

Wdrażanie za pomocą terminala

W razie potrzeby zainstaluj ADB:

sudo apt install adb

Połącz się z urządzeniem:

adb connect arc

Gdy po raz pierwszy spróbujesz wdrożyć aplikację na urządzeniu, pojawi się wyskakujące okienko autoryzacji debugowania USB. Musisz zezwolić na debugowanie.

Autoryzacja połączenia z urządzeniem

Zainstaluj aplikację z terminala:

adb install [path to your APK]

Instalowanie aplikacji z poziomu terminala

Wdrażanie z innego urządzenia

Jeśli nie możesz użyć opisanej powyżej metody i musisz przesłać aplikację z innego urządzenia, możesz połączyć urządzenie z ADB za pomocą USB lub adresu sieciowego.

Łączenie się z ADB przez sieć

  1. Upewnij się, że debugowanie ADB jest włączone.

Sprawdź adres IP Chromebooka:

  1. Kliknij zegar w prawym dolnym rogu ekranu.

  2. Kliknij ikonę koła zębatego.

  3. Kliknij typ sieci, z którą masz połączenie (Wi-Fi lub komórkowa transmisja danych), a następnie nazwę sieci.

  4. Zapisz adres IP.

Połącz z Chromebookiem:

  1. Wróć na komputer deweloperski i użyj ADB, aby połączyć się z Chromebookiem za pomocą jego adresu IP:

    adb connect 
  2. Na Chromebooku kliknij Zezwól, gdy pojawi się pytanie, czy chcesz zezwolić na debuger. Sesja ADB została nawiązana.

Rozwiązywanie problemów z debugowaniem ADB przez sieć

Czasami urządzenie ADB jest wyświetlane jako offline, mimo że wszystko jest prawidłowo podłączone. W takim przypadku wykonaj te czynności, aby rozwiązać problem:

  1. Wyłącz debugowanie ADBopcjach programisty.
  2. W oknie terminala uruchom polecenie adb kill-server.
  3. Ponownie aktywuj opcję Debugowanie ADB.
  4. W oknie terminala spróbuj uruchomić adb connect.
  5. Gdy pojawi się pytanie, czy chcesz zezwolić na debugowanie, kliknij Zezwól. Sesja ADB została nawiązana.

Łączenie z ADB przez USB

Aby przesłać plik APK z innego urządzenia na Chromebooka przez USB, musisz uruchomić ChromeOS w trybie programisty, aby móc skonfigurować Chromebooka i przesyłać aplikacje z komputera hosta. To jedyna metoda, która obecnie wymaga trybu dewelopera i działa tylko na niewielkiej liczbie urządzeń. Z tego powodu zalecamy używanie ADB przez sieć. Jeśli nadal chcesz to zrobić, wykonaj te czynności, aby przejść do trybu programisty.

  1. Upewnij się, że debugowanie ADB jest włączone.
  2. Sprawdź, czy urządzenie obsługuje debugowanie USB.
  3. Naciśnij control+alt+t, aby uruchomić terminal ChromeOS.
  4. Wpisz shell, aby przejść do powłoki poleceń bash:
    crosh> shell
    chronos@localhost / $
  5. Aby skonfigurować urządzenie, wpisz te polecenia:
    $ sudo crossystem dev_enable_udc=1
    $ sudo reboot
  6. Po ponownym uruchomieniu otwórz ponownie terminal i uruchom to polecenie, aby włączyć ADB na porcie USB Chromebooka:
    $ sudo ectool usbpd  dr_swap

Używaj tego polecenia za każdym razem, gdy odłączasz i ponownie podłączasz kabel USB. Aby sprawdzić, czy Chromebook jest w trybie UFP, możesz uruchomić polecenie ectool usbpd .

  1. Podłącz kabel USB do obsługiwanego portu na urządzeniu.
  2. Uruchom adb devices z narzędzi platformy Android SDK na komputerze hosta, aby sprawdzić, czy Chromebook jest wymieniony jako urządzenie obsługujące ADB.
  3. Gdy pojawi się pytanie, czy chcesz zezwolić na debuger, kliknij Zezwól. Sesja ADB została nawiązana.