Nové zariadenia so systémom Android 11 nemusia podporovať virtuálne A/B pre plynulé aktualizácie

Google ustúpil od požiadavky, aby výrobcovia OEM podporovali virtuálne A/B na nových zariadeniach s Androidom 11, čo by vydláždilo cestu pre bezproblémové aktualizácie.

Aktualizácia 1 (25. 1. 2021 o 14:06 ET): Pred vydaním systému Android 11 sa zdá, že spoločnosť Google ustúpila od požiadavky na spúšťacie zariadenia s podporou virtuálneho A/B. Pre viac informácií kliknite sem. Článok zverejnený 7. apríla 2021 je zachovaný nižšie.

So systémom Android 7.0 Nougat spoločnosť Google predstavila schému oddielov navrhnutú na urýchlenie aktualizácií softvéru. V Nougate Google pridal podporu pre duplikovanie určitých oddielov, aby sa neaktívne oddiely mohli aktualizovať na pozadí a potom sa rýchlym reštartom vymenili za aktívne. Toto Nastavenie "A/B partície" umožňuje "bezproblémové aktualizácie" prebieha na podporovaných zariadeniach so systémom Android, podobne ako v systéme Chrome OS od spoločnosti Google. Google však nikdy nenariadil používanie oddielov A/B, takže existuje veľa zariadení, ktoré nepodporujú plynulé aktualizácie. To by sa však mohlo zmeniť s Androidom 11, pretože Google povinne vyžaduje, aby novozavedené zariadenia podporovali virtuálne oddiely A/B.

Pre trochu pozadia sa oddiely A/B týkajú množiny oddielov iba na čítanie, ktoré sú duplikované. Duplicitné oddiely zvyčajne zahŕňajú oddiely systému, dodávateľa, zavádzania a produktu. Keď telefón sťahuje aktualizáciu, aktualizátor opravuje neaktívnu sadu oddielov (jeden „slot“) na pozadí. Po dokončení aplikácie aktualizácie do neaktívneho slotu sa používateľovi zobrazí výzva na reštartovanie zariadenia. Keď používateľ reštartuje svoje zariadenie, neaktívny slot vymení miesto za aktívny slot, čím sa dokončí proces aktualizácie. Predtým aktívny slot zostane nedotknutý, ak sa vyskytne problém so zavádzaním novo aktualizovaného slotu. Keď príde ďalšia aktualizácia, tento proces sa zopakuje. Ak máte záujem o podrobnejšie vysvetlenie, pozrite si dokumentáciu pre vývojárov Google na oddieloch A/B.

Naproti tomu zariadenia bez oddielov A/B, ako napríklad Samsung Galaxy S20, OPPO Find X2 a mnohé ďalšie, používajú aktualizácie prostredníctvom vyhradeného aktualizátora v procese obnovy. To vykopne používateľa z Androidu a znemožňuje mu niekoľko minút používať svoje zariadenie, pričom mu môžu chýbať dôležité upozornenia, hovory alebo texty. Google je presvedčený, že zjednodušenie procesu aktualizácie vedie k tomu, že po spustení aktualizácie skutočne vykoná viac ľudí. v máji 2017 Google to našiel najnovšiu aktualizáciu zabezpečenia používalo vyššie percento používateľov zariadení Pixel ako používateľov zariadení Nexus. Používateľ si samozrejme môže naplánovať aktualizácie, keď aktívne nepoužíva svoje zariadenie, ale mnohí používatelia jednoducho neaktualizujú svoje zariadenie ani po výzve. Okrem toho tým, že používateľ nemá oddiely A/B, prichádza o jednu z jeho základných výhod: ochranu pred zpackanými aktualizáciami systému.

Napríklad, keď Xiaomi prvýkrát spustila aktualizáciu na Android 10 pre Mi A2 Lite mnohí používatelia zistili, že ich zariadenia sa nespúšťajú. Našťastie pre nich má Mi A2 Lite oddiely A/B pre bezproblémové aktualizácie, takže používatelia na našich fórach našli že by mohli použiť príkaz rýchleho spustenia na nastavenie zavádzača na spustenie nedotknutej, predtým aktívnej sady oddielov. Oddiely A/B teda nielenže poskytujú používateľom oveľa rýchlejší proces aktualizácie, ale fungujú aj ako poistka proti chybným aktualizáciám. Výrobcovia OEM, ktorí neimplementovali oddiely A/B, si stále môžu navrhnúť svoj vlastný spôsob ochrany pred OTA zlyhania, hoci načo sa tým trápiť, keď je táto ochrana súčasťou návrhu A/B priečky? Pre vašu informáciu tu je čiastočný (a samozrejme zastaraný) zoznam zariadení, ktoré podporujú oddiely A/B pre bezproblémové aktualizácie a tu je návod ako skontrolovať, či vaše vlastné zariadenie túto funkciu podporuje.

Môže sa zdať záhadné, prečo sa niektorým výrobcom pôvodného zariadenia páči Samsung si za smartfón účtuje 1 400 dolárov, no neponúkne takú šikovnú funkciu. Dôvod sa zvyčajne scvrkáva na úložisko: OEM výrobcovia nechcú obetovať niekoľko gigabajtov úložného priestoru na podporu bezproblémových aktualizácií. Telefóny ako Samsung Galaxy S20 majú a ton predinštalovaného softvéru, takže duplikovanie oddielov ako /system a /product povedie k duplikovaniu množstva veľkých súborov a aplikácií. Google dokázal implementovať oddiely A/B bez toho, aby príliš obetoval úložný priestor vďaka šikovnému triku obísť problém duplikovania veľkých súborov .odex. Ďalším dôvodom, prečo sa OEM možno rozhodli neimplementovať oddiely A/B, sú náklady: Držať krok s Google neustále zmeny v schémach oddielov systému Android si vyžadujú veľa úsilia, ako uznáva vývojár XDA topjohnwu vám povie. Pokiaľ k tomu nebudú výrobcovia OEM prinútení, mnohí sa nebudú obťažovať zmenou toho, čo už pre nich funguje.

Nakoniec sa však zdá, že Google stanovuje zákon v systéme Android 11. Vynútením prijatia virtuálnych oddielov A/B na novo spustených zariadeniach takmer všetci ubezpečili, že výrobcovia OEM budú musieť podporovať bezproblémové aktualizácie pre ich zariadenia na konci rokov 2020 a 2021. Ako si všimol uznávaný vývojár XDA luca020400, Yifan Hong, softvérový inžinier v spoločnosti Google v tíme Project Treble, predložil záväzok AOSP Gerrit s názvom „Vyžadovať virtuálne A/B pri spustení RPotvrdenie aktualizuje Vendor Test Suite alebo VTS, čo je automatický test, ktorý musia všetky zariadenia absolvovať, aby boli považované za kompatibilné s Project Treble. Nový test skontroluje, či je vlastnosť systému "ro.virtual_ab.enabled"je nastavené na true a ak"ro.virtual_ab.retrofit" je nastavená na hodnotu false na zariadeniach s úrovňou API pre dopravu 30 alebo vyššou. Inými slovami, tento test kontroluje, či zariadenie so systémom Android 11 alebo vyšším podporuje virtuálne oddiely A/B. „Virtuálne“ oddiely A/B boli predstavené v systéme Android 10 spolu s „dynamickými oddielmi“, čo sú oddiely s dynamickou zmenou veľkosti. Ide o rovnaký koncept ako bežné oddiely A/B s výnimkou toho, že ich veľkosť možno ľubovoľne meniť.

Ak zariadenie, ktoré sa spúšťa so systémom Android 11, nepodporuje virtuálne oddiely A/B, zlyhá VTS. Ak zariadenie zlyhá VTS, nemôže byť dodané s mobilnými službami Google. Inými slovami, spoločnosť Google skutočne vyžaduje, aby výrobcovia OEM podporovali virtuálne oddiely A/B, a teda bezproblémové aktualizácie.


Aktualizácia: Virtuálne A/B sa pre Android 11 nevyžaduje

Keď sme v apríli prvýkrát informovali, že spoločnosť Google vyžaduje, aby všetky zariadenia na spustenie systému Android 11 podporovali virtuálny mechanizmus A/B aktualizácie, bolo to veľké vzrušenie, pretože by to konečne prinútilo telefóny Samsung mať bezproblémové aktualizácie. Žiaľ, ukázalo sa, že Google sa rozhodol nerobiť virtuálnu podporu A/B ako požiadavku. Android 11 Dokument s definíciou kompatibility (CDD) v súčasnosti znie „implementácie zariadení BY MALI podporovať aktualizácie systému A/B“ namiesto podpory „MUSÍ“. Zdá sa, že v určitom okamihu pred vydaním systému Android 11 sa spoločnosť Google rozhodla vrátiť späť svoje rozhodnutie vyžadovať virtuálnu podporu A/B, pravdepodobne na na príkaz niekoľkých OEM. Stáva sa to pomerne často, ale nikdy sa to nesprístupní verejnosti, pretože sa zverejňuje iba konečný návrh CDD online.