Jak zainstalować Androida Q Beta GSI na swoim urządzeniu, aby móc testować swoje aplikacje

Google udostępniło GSI drugiej bety Androida Q. Te obrazy systemu można zainstalować na urządzeniach zgodnych z Project Treble w celu testowania aplikacji. Oto jak.

W miarę jak zbliżamy się do ostatecznej wersji Androida Q, czas, jaki mają programiści na aktualizację swoich aplikacji, staje się coraz krótszy. Chociaż Android 9 Pie (poziom API 28) nie dotarł jeszcze do zdecydowanej większości urządzeń, wymagania dotyczące poziomu API Google Play, które powinieneś być już tego świadomym, zmusi Cię do osiągnięcia poziomu API 29 w 2020 r. Jeśli jeszcze nie zaktualizowałeś swojej aplikacji, aby była dostosowana do systemu Android 9 Pie, Następnie masz czas do sierpnia, jeśli planujesz uruchomić nową aplikację, lub do listopada, jeśli planujesz aktualizację istniejącej aplikacji. Ci z Was, którzy chcą rozpocząć prace nad następną wersją Androida, mogą już przetestować swoją aplikację na platformie Emulator Androida Studio lub na sprzęcie fizycznym, jeśli posiadasz dowolnego smartfona Google Pixel

. Jednak w tym roku Google zapewnia programistom inny sposób testowania aplikacji pod kątem najnowszej wersji Androida: flashowanie pliku Android Q beta GSI na urządzeniu zgodnym z Project Treble.

Projekt Treble to ważna inicjatywa mająca na celu poprawę szybkości, z jaką producenci smartfonów mogą publikować aktualizacje oprogramowania i zabezpieczeń. Krótko mówiąc, Treble wymaga, aby producenci urządzeń oddzielili oprogramowanie umożliwiające działanie sprzętu od oprogramowania znajdującego się za systemem operacyjnym. Umożliwia to producentom urządzeń uruchamianie nowych wersji Androida na istniejących urządzeniach, dzięki czemu mogą rozpocząć żmudne zadanie przeniesienia istniejącej bazy kodu na nową wersję kodu źródłowego Androida. Uzupełnieniem CTS jest VTS, czyli Vendor Test Suite, zestaw testów wykorzystywanych przez producentów urządzeń w celu sprawdzenia, czy ich urządzenie spełnia wymagania Project Treble. Jednym z najważniejszych elementów sprawdzanych przez producentów urządzeń jest możliwość uruchomienia przez smartfon zgodny z Treble tzw. GSI, czyli Generic System Image. GSI to niezmodyfikowana wersja AOSP przeznaczona dla producentów urządzeń w celu sprawdzenia, czy poprawnie zaimplementowali Treble. Jednak poza producentami OEM Google wierzy że interfejsy GSI mogą być wykorzystywane przez programistów do testowania zgodności aplikacji na Androida.

Na przykład, jeśli nie posiadasz Pixela Google, jedynym sposobem na przetestowanie zachowania aplikacji w warunkach, które najlepiej odpowiadają warunkom Google, dokumentacja umożliwia zakup własnego urządzenia Pixel, uruchomienie emulatora Android Studio lub zapoznanie się z testami w chmurze praca. Każde z nich ma swoje zalety i wady, ale jeśli masz już urządzenie kompatybilne z Treble i nie chcesz wydawać pieniędzy ani borykać się z ograniczeniami emulatora, dlaczego nie zamontować na nim GSI? Jeśli Twoja aplikacja działa na GSI, powinna działać na prawie wszystkich urządzeniach z tą wersją Androida.

Taki jest proces myślowy stojący za decyzją Google o wypuszczeniu Androida Q GSI, a przynajmniej tak nam się wydaje. Kod źródłowy Androida Q będzie dostępny dopiero w sierpniu, więc oficjalne pliki binarne GSI Google to obecnie jedyny sposób na przetestowanie Androida Q na prawdziwym sprzęcie innym niż Pixel. Oto jak możesz zacząć.

Wymagania

Zanim w ogóle rozważysz zainstalowanie wersji beta Androida Q, sprawdź, czy Twoje urządzenie jest kompatybilne z Project Treble i czy akceptuje flashowanie obrazów systemu z bootloadera.

Wymagania:

  • Twoje urządzenie MUSIEĆ mieć odblokowalny bootloader. Smartfony Samsung ze procesorem Snapdragon sprzedawane w USA, urządzenia marki Huawei, urządzenia marki Honor oraz urządzenia marki HMD Global marki Nokia (z wyjątkiem Nokii 8) nie kwalifikują się tutaj.
  • Masz zainstalowane najnowsze pliki binarne ADB i Fastboot na swoim komputerze, które możesz znaleźć Tutaj. Nieaktualne wersje Fastboot mogą powodować nieprawidłowe flashowanie.
  • Twoje urządzenie MUSIEĆ poznać jeden następujących kryteriów, które należy uznać za kompatybilne z Projektem Treble:
    • Urządzenie URUCHAMIONE z systemem Android 9 Pie. W takim przypadku możesz pominąć sprawdzanie zgodności z tonami wysokimi po dotarciu do końca tej sekcji.
    • Urządzenie zostało uruchomione z systemem Android 8.0 Oreo lub Android 8.1 Oreo, ale zostało zaktualizowane do systemu Android 9 Pie z izolacją VNDK i systemem jako root. W sekcji poniżej szczegółowo opisujemy, jak to sprawdzić.

Zanim przejdziemy dalej, warto wspomnieć, że flashowanie GSI będzie wymagało wykonania pełnego czyszczenia partycji danych użytkownika. Oznacza to, że utracisz wszystkie zdjęcia, filmy, muzykę, dokumenty i cokolwiek innego w wewnętrznej i zewnętrznej pamięci urządzenia (/data/media). Dlatego zdecydowanie zaleca się wykonanie kopii zapasowej poza urządzeniem przed kontynuowaniem.

Następnie pamiętaj, że te GSI nie przeszły testu CTS, więc jeśli Twoja aplikacja korzysta z interfejsu API SafetyNet Attestation do sprawdzania integralności urządzenia z dopasowaniem profilu CTS, to nie zadziała. Ponadto te kompilacje nie są przeznaczone do codziennego użytku, więc nie zdziw się, jeśli jedna lub więcej podstawowych funkcji sprzętowych nie będzie działać oprócz już udokumentowanych błędów w Androidzie Q. Google wymieniło już kilka znanych problemów z GSI, które można znaleźć Tutaj. Wszelkie nowe błędy, które znajdziesz, należy zgłosić Tutaj.

Potwierdzanie zgodności z tonami wysokimi

Uruchom następujące polecenie:

adbshellgetpropro.treble.enabled

Jeśli odpowiedź jest FAŁSZ, oznacza to, że Twoje urządzenie nie jest kompatybilne z Project Treble i nie powinieneś kontynuować. Jeśli odpowiedź jest PRAWDA, możesz iść dalej.

Następnie sprawdź obsługę różnych wersji, uruchamiając następujące polecenia:

adb shell
cat /system/etc/ld.config.28.txt | grep -A 20"\[vendor\]"

W wynikach wyszukiwania znajdź sekcję [sprzedawca], a następnie w tej sekcji poszukaj przestrzeń nazw.domyślna.isolated. Jeśli wartość tego atrybutu wynosi PRAWDA, Twoje urządzenie powinno obsługiwać uruchamianie systemu Android Q GSI na podstawie obrazu dostawcy systemu Android 9 Pie. Jeśli wartość jest FAŁSZ, Twoje urządzenie będzie mogło korzystać z GSI tylko w przypadku tej samej wersji systemu operacyjnego.

Przykładowe wyjście z OnePlus 6T.

Na koniec musisz potwierdzić, czy Twoje urządzenie jest systemem root, w którym ramdysk jest scalony z obrazem systemu. Opcja System-as-root nie jest obowiązkowa w przypadku urządzeń aktualizujących się do systemu Android 9 Pie, ale jest konieczna do obsługi OTA wyłącznie systemowego, na przykład w przypadku flashowania nowej wersji systemu operacyjnego za pośrednictwem GSI. Uruchom następujące polecenia i sprawdź, czy dane wyjściowe odpowiadają „systemowi jako root”:

adb shell
cat /proc/mounts | grep -q /dev/root && echo"system-as-root" || echo"non-system-as-root"

Teraz, gdy już wiesz, że Twoje urządzenie jest kompatybilne z Treble, musisz dowiedzieć się, którą wersję pliku binarnego GSI pobrać, ponieważ istnieją różne obrazy dla różnych architektur. Aby sprawdzić, jaką architekturę ma Twoje urządzenie, uruchom następujące polecenie:

adbshellgetpropro.product.cpu.abi

Zanotuj wynik, ponieważ będzie on potrzebny podczas pobierania GSI.

Pobieranie GSI

Linki do pobrania oficjalnych wersji Androida Q beta GSI są dostępne w Google Tutaj. Należy pobrać odpowiednią wersję bazującą na architekturze Twojego urządzenia, o której dowiedziałeś się w poprzednim kroku. Plik do pobrania będzie dość duży, jeśli pobierzesz kompilację za pomocą GMS lub Usług mobilnych Google, co zdecydowanie zalecamy, abyś mógł przetestować swoją aplikację na kompilacji za pomocą Usług Google Play.

Po zakończeniu pobierania pliku możesz go rozpakować. Znajdują się w nim dwa pliki, system.img, I vbmeta.img.

Flashowanie GSI

  1. Uruchom ponownie bootloader swojego urządzenia, używając kombinacji przycisków lub wydając polecenie:
    adb reboot bootloader
  2. Następnie musimy wyłączyć Android Verified Boot (AVB). Można to zrobić wpisując następujące polecenie:
    fastbootflashvbmetavbmeta.img
  3. Następnie wyczyśćmy partycję systemową:
    fastboot erase system
  4. Możemy wreszcie sflashować Androida Q GSI za pomocą:
    fastbootflashsystemsystem.img
  5. Gdy to zrobisz, wyczyść partycję danych użytkownika za pomocą:
    fastboot -w
  6. Uruchom ponownie urządzenie za pomocą przycisku zasilania lub wpisując:
    fastboot reboot

Mamy nadzieję, że powinno się uruchomić po kilku minutach. Te kroki zostały sprawdzone na Pixelu 3 XL, ale powinny działać uniwersalnie. Możemy sprawdzić, czy Android Q beta 2 GSI nie uruchamia się na OnePlus 6T, ale uruchamia się na Xiaomi Mi 9. Może działać na Sony Xperia XZ3, ale powiedziano nam, że nie uruchamia się na Moto G7. Twój przebieg może się różnić, ponieważ wymagania Google potwierdzają jedynie zgodność tej samej wersji systemu operacyjnego z GSI.