Ako nainštalovať Android Q Beta GSI do zariadenia, aby ste mohli testovať svoje aplikácie

Google vydal GSI druhej beta verzie systému Android Q. Tieto systémové obrazy je možné nainštalovať na zariadenia kompatibilné s Project Treble na testovanie aplikácií. Tu je návod.

S približovaním sa k finálnemu vydaniu Androidu Q sa čas vývojárov na aktualizáciu aplikácií skracuje. Hoci Android 9 Pie (API úroveň 28) sa ešte nedostal do veľkej väčšiny zariadení, požiadavky na úroveň API služby Google Play, ktoré by ste mali už si dobre vedomý, vás prinúti zacieliť na úroveň API 29 v roku 2020. Ak ste ešte neaktualizovali svoju aplikáciu tak, aby bola zacielená na Android 9 Pie, potom máte čas do augusta, ak plánujete spustiť novú aplikáciu, alebo do novembra, ak plánujete aktualizovať existujúcu aplikáciu. Pre tých z vás, ktorí chcú začať s vývojom pre ďalšiu verziu Androidu, už môžete svoju aplikáciu otestovať na Emulátor Android Studio alebo na fyzickom hardvéri, ak ho vlastníte akýkoľvek smartfón Google Pixel. Tento rok však spoločnosť Google poskytuje vývojárom ďalší spôsob, ako otestovať svoje aplikácie s najnovšou verziou systému Android: flashovanie

Android Q beta GSI do zariadenia kompatibilného s Project Treble.

Projekt Treble je hlavnou iniciatívou na zlepšenie rýchlosti, ktorou môžu výrobcovia smartfónov vydávať aktualizácie softvéru a zabezpečenia. Stručne povedané, Treble vyžaduje, aby výrobcovia zariadení oddelili softvér, vďaka ktorému funguje hardvér, od softvéru za operačným systémom. To umožňuje výrobcom zariadení zavádzať nové vydania systému Android na svojich existujúcich zariadeniach, aby mohli začať náročnú úlohu portovania existujúcej kódovej základne nad nové vydanie zdrojového kódu systému Android. Doplnkom k CTS je VTS alebo Vendor Test Suite, súbor testov, ktoré výrobcovia zariadení používajú na overenie, či ich zariadenie spĺňa požiadavky Project Treble. Jednou z najdôležitejších kontrol, ktoré musia výrobcovia zariadení otestovať, je schopnosť smartfónu kompatibilného s Treble spustiť to, čo sa nazýva GSI alebo generický systémový obrázok. GSI je neupravená zostava AOSP, ktorá je určená pre výrobcov zariadení, aby zistili, či správne implementovali Treble. Okrem OEM však spoločnosť Google verí že GSI môžu vývojári použiť na testovanie kompatibility aplikácií pre Android.

Ak napríklad nevlastníte Google Pixel, jediný spôsob, ako otestovať správanie svojej aplikácie za podmienok, ktoré najlepšie zodpovedajú podmienkam dokumentácia je určená na to, aby ste si zaobstarali svoje vlastné zariadenie Pixel, spustili emulátor Android Studio alebo sa pozreli na testovanie v cloude služby. Každý z nich má svoje klady a zápory, ale ak máte existujúce zariadenie kompatibilné s Treble a nechcete míňať žiadne peniaze ani sa zaoberať obmedzeniami emulátora, prečo naň nenalepiť GSI? Ak vaša aplikácia funguje na GSI, mala by fungovať takmer na všetkých zariadeniach s touto verziou Androidu.

To je myšlienkový proces, ktorý stojí za rozhodnutím spoločnosti Google vydať Android Q GSI, alebo si to aspoň myslíme. Zdrojový kód pre Android Q bude k dispozícii až v auguste, takže oficiálne binárne súbory GSI od Googlu sú v súčasnosti jediným spôsobom, ako otestovať Android Q na skutočnom hardvéri, ktorý nepochádza od Pixelov. Tu je návod, ako môžete začať.

Požiadavky

Ešte predtým, než zvažujete inštaláciu beta verzie systému Android Q, mali by ste skontrolovať, či je vaše zariadenie kompatibilné s Project Treble a či dokáže akceptovať blikajúce obrázky systému z bootloadera.

Požiadavky:

  • Vaše zariadenie MUSIEŤ mať odomykateľný bootloader. Smartfóny Snapdragon Samsung predávané v USA, zariadenia značky Huawei, zariadenia značky Honor a zariadenia značky Nokia od spoločnosti HMD Global (okrem Nokia 8) sa sem nekvalifikujte.
  • V počítači máte nainštalované najnovšie binárne súbory ADB a Fastboot, ktoré nájdete tu. Zastarané verzie Fastboot môžu spôsobiť nesprávne blikanie.
  • Vaše zariadenie MUSIEŤ stretnúť sa jeden z nasledujúcich kritérií, ktoré sa majú považovať za kompatibilné s Project Treble:
    • Zariadenie SPUSTENÉ s Androidom 9 Pie. Ak je to tak, potom môžete preskočiť potvrdenie kompatibility výšok po dosiahnutí konca tejto časti.
    • Zariadenie bolo uvedené na trh so systémom Android 8.0 Oreo alebo Android 8.1 Oreo, ale bolo aktualizované na Android 9 Pie s izoláciou VNDK a systémom ako root. Podrobne uvádzame, ako to zistiť v časti nižšie.

Predtým, ako pôjdeme ďalej, stojí za zmienku, že flashovanie GSI bude vyžadovať, aby ste vykonali úplné vymazanie oblasti s používateľskými údajmi. To znamená, že prídete o všetky fotografie, videá, hudbu, dokumenty alebo čokoľvek iné na internom a externom (/data/media) úložisku zariadenia. Preto sa dôrazne odporúča vykonať zálohu mimo zariadenia predtým, ako budete pokračovať.

Ďalej majte na pamäti, že tieto GSI neprešli CTS, takže ak vaša aplikácia používa SafetyNet Attestation API na kontrolu integrity zariadenia so zhodou profilu CTS, nebude to fungovať. Tieto zostavy tiež nie sú určené na každodenné používanie, takže nebuďte prekvapení, ak okrem už zdokumentovaných chýb v systéme Android Q nefungujú jedna alebo viacero základných hardvérových funkcií. Google už uviedol niekoľko známych problémov s GSI, ktoré môžete nájsť tu. Všetky nové chyby, ktoré nájdete, by mali byť zaznamenané tu.

Potvrdzuje sa kompatibilita výšok

Spustite nasledujúci príkaz:

adbshellgetpropro.treble.enabled

Ak je odpoveď falošný, potom vaše zariadenie nie je kompatibilné s Project Treble a nemali by ste pokračovať. Ak je odpoveď pravda, potom môžete ísť ďalej.

Ďalej skontrolujte podporu viacerých verzií spustením týchto príkazov:

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

Vo výstupe vyhľadajte sekciu [predajca]a potom v tejto sekcii vyhľadajte menný priestor.predvolený.izolovaný. Ak je hodnota tohto atribútu pravda, potom by vaše zariadenie malo podporovať spustenie systému Android Q GSI nad obrázkom dodávateľa systému Android 9 Pie. Ak je hodnota falošný, potom môže vaše zariadenie používať GSI iba pre rovnakú verziu operačného systému na zariadení.

Ukážkový výstup z OnePlus 6T.

Nakoniec musíte potvrdiť, či je vaše zariadenie system-as-root, v ktorom je ramdisk zlúčený s obrazom systému. System-as-root nie je povinný pre zariadenia s inováciou na Android 9 Pie, ale je potrebný na podporu iba systémového OTA, ako napríklad v prípade flashovania novej verzie OS cez GSI. Spustite nasledujúce príkazy a overte, či sa výstup zhoduje s "system-as-root":

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

Teraz, keď viete, že vaše zariadenie je kompatibilné s Treble, musíte zistiť, ktorú verziu binárneho súboru GSI stiahnuť, pretože existujú rôzne obrázky pre rôzne architektúry. Ak chcete zistiť, akú architektúru má vaše zariadenie, spustite nasledujúci príkaz:

adbshellgetpropro.product.cpu.abi

Poznamenajte si tu výstup, pretože ho budete potrebovať pri sťahovaní GSI.

Sťahovanie GSI

Odkazy na stiahnutie oficiálnych verzií Android Q beta GSI sú k dispozícii od spoločnosti Google tu. Mali by ste si stiahnuť príslušnú verziu na základe architektúry vášho zariadenia, ktorú ste zistili v predchádzajúcom kroku. Stiahnutie bude pomerne veľké, ak si stiahnete zostavu pomocou GMS alebo mobilných služieb Google, čo dôrazne odporúčame, aby ste si mohli otestovať svoju aplikáciu na zostave so službami Google Play.

Po dokončení sťahovania súboru ho môžete rozbaliť. Obsahuje dva súbory, system.img, a vbmeta.img.

Bliká GSI

  1. Reštartujte bootloader vášho zariadenia pomocou kombinácie tlačidiel alebo zadaním príkazu:
    adb reboot bootloader
  2. Ďalej musíme zakázať Android Verified Boot (AVB). Môžete to urobiť zadaním nasledujúceho príkazu:
    fastbootflashvbmetavbmeta.img
  3. Ďalej vymažte systémový oddiel:
    fastboot erase system
  4. Konečne môžeme flashovať Android Q GSI pomocou:
    fastbootflashsystemsystem.img
  5. Po dokončení vymažte oddiel s používateľskými údajmi pomocou:
    fastboot -w
  6. Reštartujte zariadenie pomocou tlačidla napájania alebo zadaním:
    fastboot reboot

Dúfajme, že by sa mal spustiť po niekoľkých minútach. Tieto kroky boli overené na Pixel 3 XL, ale mali by fungovať univerzálne. Môžeme si overiť, že Android Q beta 2 GSI sa nespustí na OnePlus 6T, ale na Xiaomi Mi 9 áno. Môže to fungovať na Sony Xperia XZ3, ale bolo nám povedané, že sa nespustí na Moto G7. Váš počet najazdených kilometrov sa môže líšiť, pretože požiadavky spoločnosti Google potvrdzujú iba kompatibilitu GSI s rovnakou verziou operačného systému.