Novi Android 11 uređaji možda neće podržavati virtualni A/B za besprijekorna ažuriranja

click fraud protection

Google je odustao od zahtjeva da OEM-i podržavaju virtualni A/B na novim Android 11 uređajima, što bi otvorilo put besprijekornim ažuriranjima.

Ažuriranje 1 (25.1.2021. @ 14:06 ET): Prije izdavanja Androida 11, čini se da je Google odustao od zahtjeva da uređaji za pokretanje podržavaju virtualni A/B. Kliknite ovdje za više informacija. Članak objavljen 7. travnja 2021. sačuvan je u nastavku.

Uz Android 7.0 Nougat, Google je predstavio particionu shemu dizajniranu za ubrzanje ažuriranja softvera. U Nougatu je Google dodao podršku za dupliciranje određenih particija tako da se neaktivne particije mogu ažurirati u pozadini, a zatim zamijeniti aktivnima brzim ponovnim pokretanjem. Ovaj Postavka "A/B particije" omogućuje "bešavna ažuriranja" odvijati na podržanim Android uređajima, slično Googleovom OS-u Chrome. Međutim, Google nikada nije naložio upotrebu A/B particija, tako da postoji toliko mnogo uređaja koji ne podržavaju besprijekorna ažuriranja. Međutim, to bi se moglo promijeniti s Androidom 11 jer Google obvezuje podržavanje virtualnih A/B particija za novoizvedene uređaje.

Za malo pozadine, A/B particije odnose se na skup particija samo za čitanje koje su duplicirane. Duplicirane particije obično uključuju particije sustava, dobavljača, pokretanja i particije proizvoda. Kada telefon preuzima ažuriranje, program za ažuriranje krpa neaktivan skup particija (jedan "utor") u pozadini. Nakon što se ažuriranje završi s primjenom na neaktivni utor, od korisnika se traži da ponovno pokrene svoj uređaj. Kada korisnik ponovno pokrene svoj uređaj, neaktivni utor mijenja mjesto s aktivnim utorom, čime se završava proces ažuriranja. Prethodno aktivni utor ostaje netaknut ako postoji problem s pokretanjem novo ažuriranog utora. Kad dođe sljedeće ažuriranje, ovaj se postupak ponavlja. Ako ste zainteresirani za više tehničko objašnjenje, pogledajte Googleovu dokumentaciju za razvojne programere na A/B pregradama.

Nasuprot tome, uređaji bez A/B particija, kao što su Samsung Galaxy S20, OPPO Find X2 i mnogi drugi, primjenjuju ažuriranja putem namjenskog programa za ažuriranje u procesu oporavka. To izbacuje korisnika iz Androida i onemogućuje korištenje uređaja nekoliko minuta, potencijalno propuštajući važne obavijesti, pozive ili poruke. Google vjeruje da pojednostavljenje procesa ažuriranja dovodi do toga da više ljudi zapravo preuzima ažuriranje nakon što se ono pojavi; zapravo, u svibnju 2017. Google je to pronašao veći postotak korisnika Pixela nego korisnika Nexusa koristio je najnovije sigurnosno ažuriranje. Naravno, korisnik može zakazati ažuriranja kada aktivno ne koristi svoj uređaj, ali mnogi korisnici jednostavno ne ažuriraju svoj uređaj čak ni kada se to zatraži. Osim toga, neposjedovanjem A/B particija, korisnik propušta jednu od inherentnih prednosti: zaštitu od neuspjelih ažuriranja sustava.

Na primjer, kada Xiaomi prvi izbacio ažuriranje za Android 10 za Mi A2 Lite, mnogi su korisnici otkrili da se njihovi uređaji ne pokreću. Na njihovu sreću, Mi A2 Lite ima A/B particije za besprijekorna ažuriranja, pa korisnika na našim forumima pronađeno da bi mogli upotrijebiti naredbu brzog pokretanja za postavljanje pokretačkog programa za pokretanje netaknutog, prethodno aktivnog skupa particija. Dakle, ne samo da A/B particije pružaju korisnicima puno brži proces ažuriranja, već također djeluju kao zaštita od neuspješnih ažuriranja. OEM proizvođači koji nisu implementirali A/B particije još uvijek mogu osmisliti vlastiti način zaštite od OTA kvarova, iako zašto prolaziti kroz te probleme kada je ova zaštita dio dizajna A/B pregrade? Za vašu referencu, evo djelomičnog (i doduše zastarjelog) popis uređaja koji podržavaju A/B particije za besprijekorna ažuriranja, a evo i vodiča za kako provjeriti podržava li vaš uređaj tu značajku.

Može se činiti zbunjujućim zašto neki proizvođači originalne opreme vole Samsung naplaćuje 1400 USD za pametni telefon, ali neće ponuditi tako izvrsnu značajku. Razlog se obično svodi na pohranu: proizvođači originalne opreme ne žele žrtvovati nekoliko gigabajta prostora za pohranu kako bi podržali besprijekorna ažuriranja. Telefoni poput Samsung Galaxy S20 imaju tona unaprijed instaliranog softvera, pa će dupliciranje particija kao što su /system i /product dovesti do dupliciranja velikog broja ogromnih datoteka i aplikacija. Google je uspio implementirati A/B particije bez prevelikog žrtvovanja prostora za pohranu zahvaljujući vještom triku kako biste zaobišli problem dupliciranja velikih .odex datoteka. Još jedan razlog zašto su proizvođači originalne opreme možda odlučili ne implementirati A/B particije je trošak: praćenje Googleovih stalne promjene u particijskim shemama Androida zahtijevaju puno truda, kao XDA Recognised Developer topjohnwu reći će vam. Osim ako proizvođači originalne opreme nisu prisiljeni na to, mnogi se neće truditi mijenjati ono što im već odgovara.

Konačno, čini se da Google postavlja zakone u Androidu 11. Forsirajući usvajanje virtualnih A/B particija na novo lansiranim uređajima, gotovo su osigurali da će OEM-ovi morati podržavati besprijekorna ažuriranja za svoje uređaje krajem 2020. i 2021. godine. Kao što je primijetio XDA Recognized Developer luca020400, Yifan Hong, softverski inženjer u Googleu u timu Project Treble, predao je predaju AOSP Gerritu pod nazivom "Zahtijevaj virtualni A/B pri pokretanju R-a." Obaveza ažurira Vendor Test Suite ili VTS, što je automatizirani test koji svi uređaji moraju proći da bi se smatrali kompatibilnima s Project Treble. Novi test provjerava je li svojstvo sustava "ro.virtual_ab.enabled" je postavljeno na istinito i ako "ro.virtual_ab.retrofit" postavljeno je na false na uređajima s razinom API-ja za otpremu 30 ili višom. Drugim riječima, ovaj test provjerava podržava li uređaj koji se pokreće s Androidom 11 ili novijom verzijom virtualne A/B particije. "Virtualne" A/B particije uvedene su s Androidom 10 zajedno s "dinamičkim particijama", koje su particije s dinamičkom promjenom veličine. Isti su koncept kao obične A/B particije osim što im se veličina može slobodno mijenjati.

Ako uređaj koji se pokreće s Androidom 11 ne podržava virtualne A/B particije, tada neće proći VTS. Ako uređaj ne zadovolji VTS, tada se ne može isporučiti s Googleovim mobilnim uslugama. Drugim riječima, Google je učinkovito zahtijevao od OEM-a da podržavaju virtualne A/B particije, a time i besprijekorna ažuriranja.


Ažuriranje: Virtualni A/B nije potreban za Android 11

Kada smo u travnju prvi put izvijestili da Google zahtijeva da svi uređaji za pokretanje Androida 11 podržavaju virtualni A/B mehanizam ažuriranja, bilo je puno uzbuđenja jer bi to konačno omogućilo da Samsung telefoni imaju besprijekorna ažuriranja. Nažalost, ispada da je Google odlučio da virtualna A/B podrška nije uvjet. Android 11 Dokument s definicijom kompatibilnosti (CDD) trenutno glasi "implementacije uređaja TREBAJU podržavati A/B ažuriranja sustava" umjesto podrške "MORA". Čini se da je Google u nekom trenutku prije izdavanja Androida 11 odlučio povući svoju odluku da zahtijeva virtualnu A/B podršku, vjerojatno na po želji nekoliko OEM-a. To se događa prilično često, ali se nikada ne prenosi javnosti jer se objavljuje samo konačni nacrt CDD-a na liniji.