Chtěli jste někdy vyzkoušet aktualizaci, aniž byste skutečně aktualizovali? DSU v Androidu 10 je k tomu určeno, ale momentálně je omezené. To by se mohlo brzy změnit.
Fragmentace operačního systému Android a úrovně zabezpečení je obrovským problémem, proti kterému Google vynakládá značné technické úsilí. V posledních dvou letech Google oznámil dvě hlavní iniciativy, jejichž cílem je urychlit zavádění aktualizací: Projekt Treble a Hlavní linie projektu. To druhé bylo oznámeno teprve letos v květnu během Google I/O 2019a je podporován pouze na zařízeních se systémem Android 10. První jmenovaný však existuje od té doby Google I/O 2017, takže jsme viděli, jak velký dopad to mělo na aktualizace Androidu se systémem Android 9 Pie a Android 10.
Kromě snížení fragmentace chce Google také to, aby byl Project Treble užitečný pro vývojáře aplikací. Proto se odhalili Dynamické aktualizace systému (DSU) v Androidu 10, aby vývojáři mohli vyzkoušet barebone verzi nové aktualizace operačního systému bez odemykání bootloaderu nebo vymazání dat. Když vidí potenciál DSU, Google tím nekončí – rozšiřuje svou užitečnost tím, že umožňuje, aby se aktualizace OTA od výrobců OEM instalovaly stejným způsobem, jakým se instalují GSI.
To je spousta žargonu, ale představte si, že se to stane v budoucnu: OEM vydá telefon s Androidem 10 a spustí beta program pro Android 11. Máte zájem o vyzkoušení této beta verze, abyste viděli nové funkce, ale nechcete riskovat stabilitu vašeho aktuálního denního ovladače. Proč místo flashování beta aktualizace a následného doufání, že je dokonale stabilní, ji dočasně nenainstalovat prostřednictvím toku DSU? Pokud se vám to nelíbí, stačí restartovat a nastavení se vrátí do normálu. Pokud se vám to líbí, můžete se "zavázat" k aktualizaci.
Nevím jak vy, ale pro Android by to byla vítaná změna, která by beta testování zpříjemnila. Už byste se nemuseli zavazovat k aktualizaci beta, abyste sami viděli, jaké to je. Jsem si jistý, že mnozí z vás chtějí vidět beta verzi Androidu 10 pro své zařízení, ale možná vám nebude příjemné ji hned nainstalovat. Se změnami provedenými v DSU by to již nebylo problémem.
Dynamické aktualizace systému v systému Android 10+ – Co se mění
Luca Stefani, přítel portálu XDA a a Uznávaný vývojář, nás informoval o a nový závazek sloučeno v AOSP s názvem "připojit více oddílů DSU, pokud jsou k dispozici." Potvrzení provede změny v tabulce systému souborů (fstab) a v init proces, aby bylo možné během spouštění připojit jiné oddíly DSU než systémové, prozatím včetně produktu a dodavatele proces.
V současné době je DSU navrženo tak, aby vám umožnilo spouštět pouze Generic System Image (GSI), barebones systémový obraz zkompilovaný z AOSP, takže můžete testovat nová rozhraní API a další změny v nejnovější aktualizaci Androidu. S touto změnou však bude DSU přijímat také obrázky produktů a dodavatelů. První obsahuje aplikace, knihovny a další soubory specifické pro zařízení, zatímco druhý obsahuje binární soubory specifické pro zařízení. Project Treble to udělal tak, že můžete zavést zařízení pomocí obrazu systému bez souborů specifických pro zařízení, takže nyní povolit načítání produktu a dodavatele nedává moc smysl.
Technik společnosti Google však výslovně říká, že tato změna má „umožnit výrobcům OEM [] instalovat balíčky OTA na /data a poté pomocí [toku] 'DSU' připojit product.img, system.img, [a] vendor.img z /data." To znamená, že namísto přepsání aktuální instalace novým balíčkem OTA lze OTA dočasně načíst přes DSU. Po vyzkoušení aktualizace OTA se "uživatel může rozhodnout, zda chce tyto obrázky 'svěřit' do /super nebo ne." Tato poslední část o „Potvrzení“ změn je stále v práci, protože jeden inženýr Google poznamenává, že „v současnosti nemáme plán na vytvoření oddílů DSU trvalé v kontextu DSU." Poté uvádí, jak by to mohlo být implementováno, ale že tato implementace je „mimo rámec“ tohoto aktuální patch.
Zde jsou některé termíny a koncepty, které zde musíme vysvětlit, protože Google rád mění schéma oddílů v každé verzi Androidu. Pro začátek doporučuji přečíst si můj předchozí článek o Dynamické aktualizace systému pro široký přehled o tom, jak to funguje, ale v souhrnu využívá konceptu „dynamického oddílu“, jednoho skutečného oddílu úložiště (tzv. „super“ oddíl), který se dělí na logické oddíly s měnitelnou velikostí (včetně systému, dodavatele, produktu a system_ext), aby se dočasně nainstaloval GSI. Při instalaci GSI vytvoří DSU prostor pro nový systém a obrazy uživatelských dat změnou velikosti stávajícího oddílu uživatelských dat. Stavební bloky pro podporu DSU (dynamické oddíly, ramdisk a kontrolní body pro zálohování dat) jsou požadavky na spuštění Android 10, takže každé zařízení spouštějící novou verzi operačního systému Android by mělo podporovat DSU. DSU není řešením duálního spouštění pro vlastní paměti ROM, které někteří z vás hledají, protože lze nainstalovat pouze obrázky, které odpovídají klíčům Android Verified Boot (AVB). S touto novou změnou by se však v budoucnu mohla ukázat mnohem užitečnější.
Kromě dynamických oddílů představil Google v Androidu 10 také koncept „virtuálního A/B“. Jedná se v podstatě o implementaci duální A/B oddíly z dřívějška, ale místo toho s logickými oddíly. Oddíly A/B obsahují kopie důležitých oddílů, které umožňují bezproblémové a bezpečné aktualizace. Použití "virtuálního A/B" je způsob, jakým si jeden inženýr Google představuje "potvrzení" oddílů DSU na oddíly z aktuální instalace; stejně jako v případě aktuálního procesu aktualizace A/B OTA jsou možná změny z nových obrazů provedeny na neaktivním oddílu.
Tyto změny jsou stále ve vývoji a může chvíli trvat, než je Google nebo OEM použijí. My pravděpodobně neuvidí žádné implementace, dokud nebude Android 11 R uveden na trh rok. Přesto neexistuje žádná záruka, že výrobci OEM tuto funkci dokonce přijmou pro své aktualizace OTA. Vzhledem k tomu, jak užitečné se to zdá být pro testování beta, si myslím, že Google již spolupracuje se zainteresovanými výrobci OEM, aby tuto funkci povolil pro budoucí aktualizace. Osobně jsem nadšený z vyhlídky na vyzkoušení před zakoupením nových aktualizací Androidu, ale co vy?