Jak nainstalovat Android Q Beta GSI do zařízení, abyste mohli testovat své aplikace

click fraud protection

Google vydal GSI druhé beta verze Androidu Q. Tyto systémové obrazy lze nainstalovat na zařízení kompatibilní s Project Treble pro testování aplikací. Zde je návod.

Jak se blížíme a blížíme k finálnímu vydání Androidu Q, zkracuje se čas vývojářů na aktualizaci aplikací. Přestože Android 9 Pie (úroveň API 28) dosud nedosáhl na drtivou většinu zařízení, požadavky na úroveň API služby Google Play, které byste měli již dobře vědomi, vás donutí cílit v roce 2020 na úroveň API 29. Pokud jste svou aplikaci ještě neaktualizovali tak, aby cílila na Android 9 Pie, pak máte čas do srpna, pokud plánujete spustit novou aplikaci, nebo do listopadu, pokud plánujete aktualizaci stávající aplikace. Pro ty z vás, kteří chtějí začít s vývojem pro další verzi Androidu, již můžete svou aplikaci otestovat na Emulátor Android Studio nebo na fyzickém hardwaru, pokud jej vlastníte jakýkoli smartphone Google Pixel. Letos však Google poskytuje vývojářům další způsob, jak otestovat své aplikace s nejnovější verzí Androidu: flashování Android Q beta GSI na zařízení kompatibilní s Project Treble.

Projekt Treble je hlavní iniciativou ke zlepšení rychlosti, s jakou mohou výrobci chytrých telefonů vydávat aktualizace softwaru a zabezpečení. Stručně řečeno, Treble vyžaduje, aby výrobci zařízení oddělili software, díky kterému funguje hardware, od softwaru za OS. To umožňuje výrobcům zařízení spouštět nové verze Androidu na jejich stávajících zařízeních, aby mohli začít s náročným úkolem portovat svou stávající kódovou základnu nad novou verzi zdrojového kódu Android. Doplňkem k CTS je VTS, neboli Vendor Test Suite, sada testů, které výrobci zařízení používají k ověření, zda jejich zařízení splňuje požadavky Project Treble. Jednou z nejdůležitějších kontrol, které mají výrobci zařízení otestovat, je schopnost smartphonu kompatibilního s Treble zavést to, co se nazývá GSI, neboli Generic System Image. GSI je neupravené sestavení AOSP, které je určeno výrobcům zařízení, aby zjistili, zda správně implementovali Treble. Kromě OEM však Google věří že GSI mohou vývojáři používat pro testování kompatibility aplikací pro Android.

Pokud například nevlastníte Google Pixel, jediný způsob, jak otestovat chování aplikace za podmínek, které nejlépe odpovídají podmínkám společnosti Google dokumentace je pro vás, abyste si pořídili vlastní zařízení Pixel, spustili emulátor Android Studio nebo se podívali na cloudové testování servis. Každý z nich má své klady a zápory, ale pokud máte stávající zařízení kompatibilní s Treble a nechcete utrácet žádné peníze nebo řešit omezení emulátoru, proč na něj nenacpat GSI? Pokud vaše aplikace funguje na GSI, měla by fungovat téměř na všech zařízeních s touto verzí Androidu.

To je myšlenkový proces, který stojí za rozhodnutím společnosti Google vydat Android Q GSI, nebo si to alespoň myslíme. Zdrojový kód pro Android Q bude k dispozici až v srpnu, takže oficiální binární soubory GSI od Googlu jsou v tuto chvíli jediným způsobem, jak Android Q otestovat na skutečném hardwaru, který není Pixel. Zde je návod, jak můžete začít.

Požadavky

Než vůbec zvážíte instalaci beta verze Android Q, měli byste zkontrolovat, zda je vaše zařízení kompatibilní s Project Treble a zda může přijímat blikající obrazy systému z bootloaderu.

Požadavky:

  • Vaše zařízení MUSÍ mít odemykatelný bootloader. Smartphony Snapdragon Samsung prodávané v USA, zařízení značky Huawei, zařízení značky Honor a zařízení značky Nokia společnosti HMD Global (kromě Nokia 8) se zde nekvalifikujte.
  • V počítači máte nainstalované nejnovější binární soubory ADB a Fastboot, které můžete najít tady. Zastaralé verze Fastbootu mohou mít za následek nesprávné flashování.
  • Vaše zařízení MUSÍ setkat jeden z následujících kritérií, která mají být považována za kompatibilní s Project Treble:
    • Zařízení SPUŠTĚNO s Androidem 9 Pie. Pokud je tomu tak, můžete přeskočit potvrzení kompatibility výšek po dosažení konce této části.
    • Zařízení bylo uvedeno na trh se systémem Android 8.0 Oreo nebo Android 8.1 Oreo, ale bylo aktualizováno na Android 9 Pie s izolací VNDK a systémem jako root. Jak to zjistit, podrobně popisujeme v sekci níže.

Než půjdeme dále, stojí za zmínku, že flashování GSI bude vyžadovat provedení úplného vymazání oddílu uživatelských dat. To znamená, že přijdete o všechny fotografie, videa, hudbu, dokumenty nebo cokoliv jiného na interním a externím (/data/media) úložišti zařízení. Proto se před dalším pokračováním důrazně doporučuje provést zálohu mimo zařízení.

Dále mějte na paměti, že tyto GSI neprošly CTS, takže pokud vaše aplikace používá SafetyNet Attestation API ke kontrole integrity zařízení s odpovídajícím profilem CTS, nebude to fungovat. Tato sestavení také nejsou určena pro každodenní použití, takže se nedivte, že kromě již zdokumentovaných chyb v Androidu Q nebude fungovat jedna nebo více základních hardwarových funkcí. Google již uvedl několik známých problémů s GSI, které můžete najít tady. Jakékoli nové chyby, které najdete, by měly být zaznamenány tady.

Potvrzení kompatibility výšek

Spusťte následující příkaz:

adbshellgetpropro.treble.enabled

Pokud je odpověď Nepravdivé, pak vaše zařízení není kompatibilní s Project Treble a neměli byste pokračovat. Pokud je odpověď skutečný, pak můžete jít dál.

Dále zkontrolujte podporu mezi verzemi spuštěním těchto příkazů:

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

Ve výstupu vyhledejte sekci [prodejce]a poté v této sekci vyhledejte jmenný prostor.výchozí.izolovaný. Pokud je hodnota tohoto atributu skutečný, pak by vaše zařízení mělo podporovat spouštění Android Q GSI nad obrazem dodavatele Android 9 Pie. Pokud je hodnota Nepravdivé, pak může vaše zařízení používat GSI pouze pro stejnou verzi operačního systému v zařízení.

Ukázkový výstup z OnePlus 6T.

Nakonec musíte potvrdit, zda je vaše zařízení system-as-root, ve kterém je ramdisk sloučen s obrazem systému. System-as-root není povinný pro zařízení upgradující na Android 9 Pie, ale je nezbytný pro podporu pouze systémové OTA, jako v případě flashování nové verze operačního systému přes GSI. Spusťte následující příkazy a ověřte, že výstup odpovídá "system-as-root":

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

Nyní, když víte, že vaše zařízení je kompatibilní s Treble, musíte zjistit, kterou verzi binárního souboru GSI stáhnout, protože existují různé obrázky pro různé architektury. Chcete-li zjistit, jakou architekturu má vaše zařízení, spusťte následující příkaz:

adbshellgetpropro.product.cpu.abi

Zde si poznamenejte výstup, protože jej budete potřebovat při stahování GSI.

Stahování GSI

Odkazy ke stažení oficiálních sestavení Android Q beta GSI jsou k dispozici od společnosti Google tady. Měli byste si stáhnout příslušnou verzi na základě architektury vašeho zařízení, kterou jste zjistili v předchozím kroku. Stahování bude poměrně velké, pokud si stáhnete sestavení pomocí GMS nebo mobilních služeb Google, což vřele doporučujeme, abyste mohli svou aplikaci otestovat na sestavení se službami Google Play.

Jakmile se soubor dokončí stahování, můžete jej rozbalit. Obsahuje dva soubory, system.img, a vbmeta.img.

Bliká GSI

  1. Restartujte bootloader vašeho zařízení buď kombinací tlačítek, nebo zadáním příkazu:
    adb reboot bootloader
  2. Dále musíme zakázat Android Verified Boot (AVB). To lze provést zadáním následujícího příkazu:
    fastbootflashvbmetavbmeta.img
  3. Dále vymažeme systémový oddíl:
    fastboot erase system
  4. Konečně můžeme flashovat Android Q GSI pomocí:
    fastbootflashsystemsystem.img
  5. Jakmile to uděláte, vymažte oddíl uživatelských dat pomocí:
    fastboot -w
  6. Restartujte zařízení pomocí tlačítka napájení nebo zadáním:
    fastboot reboot

Doufejme, že by se měl spustit po několika minutách. Tyto kroky byly ověřeny na Pixel 3 XL, ale měly by fungovat univerzálně. Můžeme ověřit, že Android Q beta 2 GSI se nespouští na OnePlus 6T, ale na Xiaomi Mi 9 ano. Může fungovat na Sony Xperia XZ3, ale bylo nám řečeno, že se nespustí na Moto G7. Váš počet najetých kilometrů se může lišit, protože požadavky společnosti Google potvrzují pouze kompatibilitu stejné verze operačního systému s GSI.