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).
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.
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.
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:
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.
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.
Zainstaluj aplikację z terminala:
adb install [path to your APK]
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ć
-
Upewnij się, że debugowanie ADB jest włączone.
Sprawdź adres IP Chromebooka:
-
Kliknij zegar w prawym dolnym rogu ekranu.
-
Kliknij ikonę koła zębatego.
-
Kliknij typ sieci, z którą masz połączenie (Wi-Fi lub komórkowa transmisja danych), a następnie nazwę sieci.
-
Zapisz adres IP.
Połącz z Chromebookiem:
-
Wróć na komputer deweloperski i użyj ADB, aby połączyć się z Chromebookiem za pomocą jego adresu IP:
adb connect
-
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:
- Wyłącz debugowanie ADB w opcjach programisty.
- W oknie terminala uruchom polecenie
adb kill-server. - Ponownie aktywuj opcję Debugowanie ADB.
- W oknie terminala spróbuj uruchomić
adb connect. - 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.
- Upewnij się, że debugowanie ADB jest włączone.
- Sprawdź, czy urządzenie obsługuje debugowanie USB.
- Naciśnij
control+alt+t, aby uruchomić terminal ChromeOS. - Wpisz
shell, aby przejść do powłoki poleceń bash:crosh> shell chronos@localhost / $
- Aby skonfigurować urządzenie, wpisz te polecenia:
$ sudo crossystem dev_enable_udc=1 $ sudo reboot
- 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 .
- Podłącz kabel USB do obsługiwanego portu na urządzeniu.
- Uruchom
adb devicesz narzędzi platformy Android SDK na komputerze hosta, aby sprawdzić, czy Chromebook jest wymieniony jako urządzenie obsługujące ADB. - Gdy pojawi się pytanie, czy chcesz zezwolić na debuger, kliknij Zezwól. Sesja ADB została nawiązana.