Przygotowanie środowiska programistycznego

Uruchamianie aplikacji na Androida na Chromebooku daje użytkownikom dostęp do rozbudowanego ekosystemu Androida, a deweloperom aplikacji na Androida – możliwość dotarcia do użytkowników ChromeOS.

ChromeOS udostępnia deweloperom aplikacji na Androida narzędzia do wdrażania i testowania aplikacji na Chromebookach. Aby zapewnić użytkownikom jak najlepsze wrażenia, przetestuj aplikacje na różnych urządzeniach.

Niezależnie od tego, czy wdrażasz aplikację na Androida bezpośrednio z ChromeOS (za pomocą Androida Studio na Chromebooku), czy z innego urządzenia, możesz użyć Android Debug Bridge, aby wdrożyć aplikację i debugować różne interakcje z Chromebookami.

Włączanie debugowania ADB

Wcześniej korzystanie z ADB na Chromebooku było możliwe tylko w trybie deweloperskim. Od Chrome 81 deweloperzy mogą nie włączać trybu programisty na swoich urządzeniach i nadal wdrażać opracowywane przez siebie aplikacje bezpośrednio w ChromeOS. Aby to zrobić:

  1. Otwórz Ustawienia i włącz Linuksa, jeśli jeszcze tego nie zrobisz.

    Włączanie Linuksa w ustawieniach ChromeOS.
    Rysunek 1. Włączanie Linuksa w ustawieniach ChromeOS.
  2. Gdy Linux będzie dostępny, otwórz jego ustawienia.

  3. Otwórz opcję Tworzenie aplikacji na Androida.

  4. Włącz debugowanie ADB. Chromebook uruchomi się ponownie.

    Włączanie debugowania ADB w ustawieniach systemu Linux.
    Rysunek 2. Włączanie debugowania ADB w ustawieniach systemu Linux.
  5. Po ponownym uruchomieniu Chromebooka pojawi się komunikat z informacją, że na urządzeniu mogą być aplikacje, które nie zostały pobrane ze sklepu z aplikacjami.

    Powiadomienie o aplikacjach spoza Sklepu Play po włączeniu ADB.
    Rysunek 3. Powiadomienie o aplikacjach spoza Sklepu Play po włączeniu ADB.
  6. ADB jest teraz dostępny do wdrażania aplikacji na Chromebooku, uruchamiania poleceń debugowania i bezpośredniego korzystania z urządzenia.

Aby sprawdzić, czy 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, 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 załadować aplikację na Androida bezpośrednio na urządzenie z ChromeOS za pomocą Android Studio. Jeśli masz pakiet instalacyjny Androida (APK), możesz go wczytać za pomocą terminala.

Wdrażanie za pomocą Android Studio

Po skonfigurowaniu Android Studio i ADB możesz przesyłać aplikacje do kontenera Androida na Chromebooku bezpośrednio z Android Studio. Chromebook pojawi się jako opcja w menu urządzenia:

Chromebook jest widoczny w menu urządzeń w Android Studio.
Rysunek 4. Chromebook jest widoczny w menu urządzeń w Android Studio.

Gdy przeniesiesz aplikację na Chromebooka, pojawi się okno dialogowe autoryzacji ADB. Po udzieleniu autoryzacji aplikacja uruchomi się w nowym oknie.

Autoryzowanie ADB i uruchamianie aplikacji z Androida Studio.
Rysunek 5. Autoryzowanie ADB i uruchamianie aplikacji z Androida Studio.

Możesz teraz wdrożyć aplikację na Chromebooku oraz ją przetestować i zdebugować.

Wdrażanie za pomocą terminala

Aby wdrożyć aplikację na Chromebooku za pomocą terminala, wykonaj te czynności:

  1. W razie potrzeby zainstaluj ADB, używając tego polecenia:

    sudo apt install adb
    
  2. Połącz się z urządzeniem za pomocą tego polecenia:

    adb connect arc
    
  3. Pojawi się okno autoryzacji debugowania USB. Przyznaj autoryzację:

    Okno autoryzacji debugowania USB.
    Rysunek 6. Okno autoryzacji debugowania USB.
  4. Zainstaluj aplikację z terminala za pomocą tego polecenia:

    adb install [path to your APK]
    
Łączenie się z Chromebookiem i instalowanie pliku APK za pomocą terminala.
Rysunek 7. Łączenie się z Chromebookiem i instalowanie pliku APK za pomocą terminala.

Wdrażanie z innego urządzenia

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

Łączenie się z ADB przez sieć

Aby połączyć się z ADB przez sieć, wykonaj te czynności:

  1. Sprawdź, czy masz włączone debugowanie ADB.

  2. Aby uzyskać adres IP Chromebooka, wykonaj te czynności:

    • Kliknij zegar w prawym dolnym rogu ekranu.
    • Kliknij ikonę koła zębatego.
    • Kliknij typ sieci, z którą masz połączenie, np. Wi-Fi lub mobilną transmisję danych, a następnie nazwę sieci.
    • 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 <ip_address>
    
  2. Na Chromebooku kliknij Zezwól, gdy pojawi się prośba o zezwolenie 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ę prośba o zezwolenie na debugowanie, kliknij Zezwól. Sesja ADB zostanie nawiązana.

Łączenie z ADB przez USB

Aby przesłać plik APK z innego urządzenia na Chromebooka, musisz uruchomić ChromeOS w trybie programisty, aby móc skonfigurować Chromebooka i przesyłać aplikacje z komputera hosta.

Aby włączyć tryb programisty, wykonaj te czynności:

  1. Włącz debugowanie ADB.
  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 <port number> dr_swap
    

Używaj tego polecenia za każdym razem, gdy odłączasz i ponownie podłączasz kabel USB. Aby upewnić się, że Chromebook jest w trybie portu skierowanego w górę (UFP), możesz uruchomić ectool usbpd <port number>.

Aby nawiązać sesję ADB, wykonaj te czynności:

  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 zobaczyć Chromebooka na liście urządzeń obsługiwanych przez ADB.
  3. Na Chromebooku kliknij Zezwól, gdy pojawi się prośba o zezwolenie na debugowanie. Sesja ADB została nawiązana.