DSU Loader v Androidu 11 pomáhá vývojářům testovat aplikace na Androidu

click fraud protection

Android 11 bude dodáván s DSU Loader v rámci možností vývojáře, který vám umožní stahovat a instalovat kompatibilní GSI automaticky! Přečtěte si další informace!

Dobrý ekosystém aplikací je jedním z nejdůležitějších pilířů úspěchu operačního systému. Google i Apple uznávají hodnotu dobrých aplikací na svých platformách, a tak se obě společnosti snaží vyvážit potřeby svých uživatelů a jejich vývojářů aplikací. Uživatelé neustále tlačí na změny v operačních systémech, a přestože většina lidí obecně oceňuje nové funkce, tyto změny nejsou pro vývojáře aplikací vždy zábavné, protože mohou změnit mnoho základních funkcí a chování. Vývojářům, kteří neustále pracují na tom, aby jejich aplikace byly relevantní, se řešení těchto změn přidává k jejich rostoucímu pracovnímu seznamu. I když tyto změny přímo neovlivňují jejich aplikace, vývojáři se stále musí ujistit, že jejich aplikace budou fungovat na nové aktualizaci operačního systému. Google v průběhu let provedl mnoho změn, aby vývojářům aplikací pro Android usnadnil tento proces, a nyní je to novinka funkce v Androidu 11, nazvaná DSU Loader, usnadní vývojářům aplikací testování jejich aplikací na novém Androidu. verze.

Začíná to Project Treble

Projekt Treble, představený v Androidu 8.0, je hlavní re-architekturu operačního systému Android. Cílem projektu Treble bylo rozdělit operační systém Android na dva velké části: rámec a implementaci dodavatele („prodejce“ zde označuje výrobce jakékoli proprietární hardwarové komponenty nalezené v zařízení, obvykle křemík). Rámec operačního systému Android je samotný operační systém, včetně všech systémových aplikací, uživatelského rozhraní a jeho součástí a rozhraní API, která jsou sdílena mezi zařízeními Android. Implementace dodavatele obsahuje HAL (Hardware Abstraction Layers) dodavatele a linuxové jádro a moduly linuxového jádra.

Vzhledem k tomu, že výrobci OEM dodávají smartphony s mnoha různými hardwarovými součástmi od mnoha různých výrobců, musí vykonat spoustu práce, aby hardware uvedli do provozu na jediném vydání operačního systému Android. S každou novou aktualizací operačního systému Android pak musí udělat ještě více práce, aby se ujistili, že jejich hardware s novou verzí funguje. Ale s Project Treble standardizujícím ABI (Application Binary Interface) mezi rámcem OS Android a HAL pro konkrétní verzi Androidu, Výrobci Android OEM mohou začít testovat aktualizace svých zařízení, aniž by museli čekat, až výrobci křemíku a další výrobci komponent aktualizují svou stranu kód. Tato změna se znatelně zrychlila způsob, jakým jsou zpracovávány aktualizace systému Android.

To je podstata toho, co Project Treble udělal pro aktualizace Androidu, ale co je důležitější pro aplikaci Vývojáři zde je, že Treble umožnil použití Generic System Images (GSI) pro kompatibilitu testování.

Vznik GSI

Aby OEM mohli otestovat, zda správně implementovali Project Treble, Google nařizuje, aby OEM byl schopen zavést čisté sestavení Androidu z AOSP na zařízení. Toto čisté sestavení Androidu se nazývá Generic System Image neboli GSI. Pokud se GSI zavede a většina základního hardwaru funguje správně, pak OEM ví, že jeho zařízení splňuje požadavky Project Treble. Původním účelem GSI bylo tedy testování kompatibility Treble, ale jak jsme viděli u vývojářské komunity zde na XDA-Developers, lze je použít i pro jiné účely. Viděli jsme, jak jsou GSI by v podstatě mohla umožnit zařízením s těžkými UX Android užívat si nejnovější verzi Androidu s funkčními funkcemi během několika dní od nového vydání. Google si ale za GSI představuje jiný účel: dát vývojářům aplikací možnost testovat své aplikace na nové verzi Androidu na fyzickém zařízení, které již vlastní.

S Androidem 10 Google vydal vlastní GSI sestavení pro vývojáře. Google upevnil myšlenku, že vývojáři aplikací by měli používat GSI k zavedení čistého sestavení Androidu na svém vlastním hardwaru, což usnadňuje testování chování jejich aplikací proti běžnému Androidu. Tato metoda se tak přidala ke stávajícím možnostem testování kompatibility aplikací na Androidu, aniž by se změnilo chování OEM, ostatní jsou pomocí smartphonu Pixel, pomocí oficiálního emulátoru Android v rámci Android Studia nebo nasazením sestavení aplikace do instance zařízení v cloudu.

Navzdory veškerému pohodlí, které GSI přinesly, byla jejich instalace stále těžkopádným procesem. Vývojáři aplikací nemusí být spokojeni s ručním flashováním obrazu systému na zařízení Android, protože to je něco, co obvykle znají pouze nadšenci nebo vývojáři OS Android. Instalace GSI vyžadovala flashování obrazu systému přes fastboot, což vyžaduje deaktivaci Android Verified Boot a odemknutí bootloaderu. Odemknutí bootloaderu zase vyžaduje kompletní vymazání uživatelských dat. A jak všichni víme, neexistuje přesně jediný proces nebo průvodce pro odemknutí bootloaderu každého zařízení Android, takže nelze najít žádnou konzistenci. Například zařízení Samsung nemají rychlé spouštění, zatímco zařízení Xiaomi vás nutí proskočit několika obručemi, abyste odemkli bootloader. Je to pohodlný nepořádek, který má potenciál zamotat se do něčeho jednoduššího.

Zde přichází na řadu dynamické aktualizace systému.

Dynamické aktualizace systému jednoduše instalují GSI

Google si uvědomil, že současný způsob instalace GSI není dokonalým řešením, a tak začal pracovat na lepším řešení. V systému Android 10 Google začal testovat dynamické aktualizace systémunebo DSU. DSU je nový způsob, jak dočasně nainstalovat GSI, aniž byste museli používat příkazy rychlého spouštění k flashování obrazu systému, čímž se přepíše původní instalace. S DSU můžete zavést do GSI, otestovat aplikaci a poté pohodlně restartovat zpět do původní instalace, která zůstala nedotčena.

Důvod, proč DSU může nainstalovat GSI, aniž by se dotkl původní instalace, je ten, že vytváří nové obrazy systému a datových oddílů, které jsou dočasně uloženy v /data/gsi. Tyto obrazy jsou pak připojeny během spouštění, nikoli původní systémové a datové oddíly. Protože telefon potřebuje další úložný prostor pro tyto nové dočasné obrázky, musí mít váš telefon na palubě „logické oddíly“, což jsou oddíly s dynamickou změnou velikosti. Logické oddíly jsou nový systém rozdělování uživatelského prostoru pro Android, který je povinný pro zařízení se systémem Android 10. Pokud bylo vaše zařízení spuštěno se systémem Android 10, mělo by podporovat instalaci GSI prostřednictvím DSU.

V Androidu 10 vše, co musíte udělat nainstalovat GSI přes DSU je změnit vlastnost systému a poté spustit DynamicSystemUpdatesInstallationService odesláním záměru s cestou k GSI jako zvláštního záměru.

I když se tento proces může zdát neznámý, ve srovnání s používáním je mnohem jednodušší a méně rušivý fastboot příkazy a řešení potíží se vším, včetně původní instalace, bytí otřel. K využití DSU potřebujete určité znalosti ADB a záměrů, ale pro většinu vývojářů aplikací by to neměl být problém. Přesto není důvod, proč by tento proces nemohl být ještě jednodušší. Navíc je tu skutečnost, že instalace GSI přes DSU stále vyžaduje odemknutí bootloaderu a vymazání všech uživatelských dat v procesu. Za tímto účelem Google implementoval změny, které vylepšují oba aspekty instalace GSI. V Androidu 11 eliminovali nutnost vůbec používat k instalaci GSI příkazový řádek. Samostatně také umožnily nainstalovat GSI bez odemknutí bootloaderu.

DSU Loader v Androidu 11

DSU Loader je nový nástroj přítomný v možnostech vývojáře systému Android 11, který vám to umožňuje stažení a Nainstalujte nejnovější GSI od společnosti Google, aniž byste museli zadávat jakékoli příkazy rychlého spouštění nebo ADB. Jednoduše klepněte na možnost DSU Loader v Nastavení a objeví se dialogové okno se seznamem podporovaných GSI přímo od Google. Tyto podporované GSI budou založeny na vašem aktuálním OS a architektuře, takže můžete nainstalovat pouze GSI, které jsou novější než vaše verze operačního systému a které odpovídají vaší architektuře SoC. Jednoduše vyberte GSI, které chcete nainstalovat, a bude staženo ze serverů Google a nainstalováno na pozadí automaticky.

DSU Loader pro Android 11

S DSU Loader se vývojáři nikdy nemusí dotknout příkazového řádku, aby instalovali GSI. Alespoň to je sen, protože zbývá vyřešit ještě jeden problém.

Cesta vpřed

V současné době potřebujete k instalaci GSI přes DSU Loader odemčený bootloader. I když to může zmařit účel celého utrpení, nemělo by to tak být a bylo nám řečeno, že to bude opraveno. Google naplánoval, že uživatelé budou moci spouštět GSI podepsané Googlem prostřednictvím DSU, aniž by museli odemykat bootloader. Ve skutečnosti to Google nařizuje všechna spouštěcí zařízení Android 10 obsahují veřejné klíče Android Verified Boot GSI pro Android 10, Android 11 a Android 12 podepsaných společností Google. Zahrnutí veřejných klíčů AVB do ramdisku zařízení zajistí, že AVB neodmítne GSI, které se pokoušíte zavést. To je důvod, proč současná metoda zahrnuje odemknutí bootloaderu - flashováním prázdného obrazu vbmeta do oddílu vbmeta zakážete AVB, aby neodmítlo GSI, které se chystáte flashovat. Zakázání AVB je však velkým bezpečnostním rizikem, protože to znamená, že jakékoli změny systém/boot/produkt/dodavatel lze do zařízení načíst, což je důvod, proč to Google chce udělat pryč s tímto požadavkem.

Požadavky na spuštění Android 10 GSI

Kdy tedy můžete očekávat zavedení GSI přes DSU, aniž byste museli odemykat bootloader nebo používat nástroje příkazového řádku? Doufejme, že brzy, jak nám Google zmínil, že museli vyřešit několik problémů s úvodními náhledy pro vývojáře Android 11, než to všechno zprovozní správně. V budoucnu lze očekávat instalaci budoucích vývojářských náhledových GSI přes DSU, aniž by bylo nutné odemykat bootloader. Možná, že až budou zpřístupněny náhledy pro vývojáře pro Android 12, budete je dokonce moci spustit úplně pomocí DSU Loader v možnostech vývojáře Android 11. Pro vývojáře aplikací to znamená, že bude existovat další způsob, jak otestovat své aplikace na fyzickém hardwaru s novou verzí Androidu.