Nove naprave Android 11 morda ne podpirajo navideznega A/B za brezhibne posodobitve

click fraud protection

Google je odstopil od zahteve, da proizvajalci originalne opreme podpirajo virtualni A/B na novih napravah Android 11, kar bi utrlo pot nemotenim posodobitvam.

Posodobitev 1 (25. 1. 2021 ob 14:06 ET): Zdi se, da je Google pred izdajo Androida 11 odstopil od zahteve, da naprave za zagon podpirajo virtualni A/B. Kliknite tukaj za več informacij. Članek, kot je bil objavljen 7. aprila 2021, je ohranjen spodaj.

Z Androidom 7.0 Nougat je Google predstavil particijsko shemo, namenjeno pospeševanju posodobitev programske opreme. V Nougat je Google dodal podporo za podvajanje določenih particij, tako da se neaktivne particije lahko posodobijo v ozadju in nato s hitrim ponovnim zagonom zamenjajo za aktivne. to Nastavitev "A/B particije" omogoča "brezhibne posodobitve" potekati v podprtih napravah Android, podobno kot Googlov Chrome OS. Vendar pa Google nikoli ni predpisal uporabe particij A/B, zato obstaja veliko naprav, ki ne podpirajo brezhibnih posodobitev. Z Androidom 11 pa bi se to lahko spremenilo, saj Google za na novo predstavljene naprave zahteva obvezno podporo virtualnih A/B particij.

Za malo ozadja se particije A/B nanašajo na niz particij samo za branje, ki so podvojene. Podvojene particije običajno vključujejo particijo sistema, prodajalca, zagona in particije izdelka. Ko telefon prenaša posodobitev, program za posodabljanje popravi neaktiven niz particij (ena "reža") v ozadju. Ko je posodobitev končana z uporabo neaktivne reže, je uporabnik pozvan, da znova zažene svojo napravo. Ko uporabnik znova zažene svojo napravo, neaktivna reža zamenja mesto z aktivno režo, s čimer se zaključi postopek posodabljanja. Prejšnja aktivna reža ostane nedotaknjena, če pride do težave pri zagonu na novo posodobljene reže. Ko pride do naslednje posodobitve, se ta postopek ponovi. Če vas zanima bolj tehnična razlaga, glejte Googlovo dokumentacijo za razvijalce na A/B particijah.

Nasprotno pa naprave brez A/B particij, kot so Samsung Galaxy S20, OPPO Find X2 in številne druge, v postopku obnovitve uporabljajo posodobitve prek namenskega programa za posodabljanje. To uporabnika vrže iz Androida in povzroči, da nekaj minut ne more uporabljati svoje naprave, zaradi česar lahko zamudi pomembna obvestila, klice ali sporočila. Google verjame, da poenostavitev postopka posodabljanja privede do tega, da več ljudi dejansko sprejme posodobitev, ko se ta uvede; pravzaprav maja 2017, Google je to našel višji odstotek uporabnikov Pixela kot uporabnikov Nexusa je uporabljal najnovejšo varnostno posodobitev. Seveda lahko uporabnik načrtuje posodobitve, ko svoje naprave ne uporablja aktivno, vendar mnogi uporabniki preprosto ne posodobijo svoje naprave, tudi ko so pozvani. Poleg tega uporabnik z odsotnostjo particij A/B izgubi eno od njenih inherentnih prednosti: zaščito pred neuspešnimi posodobitvami sistema.

Na primer, ko Xiaomi prvi uvedel posodobitev za Android 10 za Mi A2 Lite je veliko uporabnikov odkrilo, da se njihove naprave ne zaganjajo. Na njihovo srečo ima Mi A2 Lite particije A/B za brezhibne posodobitve, tako da uporabnikov na naših forumih da bi lahko uporabili ukaz za hitri zagon za nastavitev zagonskega nalagalnika za zagon nedotaknjenega, prej aktivnega nabora particij. Tako particije A/B uporabnikom ne zagotavljajo le veliko hitrejšega postopka posodabljanja, ampak delujejo tudi kot varovalo za neuspele posodobitve. Proizvajalci originalne opreme, ki niso implementirali particij A/B, lahko še vedno izdelajo lasten način za zaščito pred OTA napake, čeprav zakaj bi imeli te težave, ko pa je ta zaščita del zasnove A/B predelne stene? Za vašo referenco, tukaj je delni (in seveda zastareli) seznam naprav, ki podpirajo particije A/B za brezhibne posodobitve in tukaj je vadnica o kako preveriti, ali vaša naprava podpira to funkcijo.

Morda se zdi čudno, zakaj je nekaterim proizvajalcem originalne opreme všeč Samsung zaračuna 1.400 $ za pametni telefon, vendar ne bo ponudil tako čudovite funkcije. Razlog se običajno skrči na shranjevanje: proizvajalci originalne opreme ne želijo žrtvovati nekaj gigabajtov prostora za shranjevanje za podporo brezhibnih posodobitev. Telefoni, kot je Samsung Galaxy S20, imajo a ton vnaprej nameščene programske opreme, zato bo podvajanje particij, kot sta /system in /product, povzročilo podvajanje velikega števila datotek in aplikacij. Googlu je uspelo implementirati particije A/B, ne da bi pri tem preveč žrtvoval prostor za shranjevanje zahvaljujoč premetenemu triku zaobiti težavo s podvajanjem velikih datotek .odex. Drug razlog, zakaj so se proizvajalci originalne opreme morda odločili, da ne bodo implementirali particij A/B, so stroški: sledenje Googlovim nenehne spremembe particijskih shem Androida zahtevajo veliko truda, kot priznani razvijalec XDA topjohnwu ti bo povedal. Razen če proizvajalci originalne opreme niso v to prisiljeni, se mnogi ne bodo trudili spremeniti tega, kar jim že ustreza.

Končno pa se zdi, da Google postavlja zakonodajo v Androidu 11. S vsiljevanjem navideznih A/B particij na novo predstavljenih napravah so skoraj zagotovili, da bodo proizvajalci originalne opreme morali podpirati brezhibne posodobitve za svoje naprave konec leta 2020 in 2021. Kot je opazil XDA Recognized Developer luca020400, Yifan Hong, programski inženir pri Googlu v ekipi Project Treble, je predložil zavezo AOSP Gerritu z naslovom "Zahtevaj navidezni A/B pri zagonih R." Obveza posodobi Vendor Test Suite ali VTS, ki je avtomatiziran preizkus, ki ga morajo opraviti vse naprave, da se štejejo za združljive s Project Treble. Novi test preveri, ali je lastnost sistema "ro.virtual_ab.enabled" je nastavljen na true in če "ro.virtual_ab.retrofit" je nastavljen na false v napravah z ravnjo API-ja za pošiljanje 30 ali višjo. Z drugimi besedami, ta preizkus preveri, ali naprava, ki se zažene s sistemom Android 11 ali novejšim, podpira navidezne particije A/B. "Navidezne" A/B particije so bile uvedene z Androidom 10 skupaj z "dinamičnimi particijami", ki so particije, ki jim je mogoče dinamično spreminjati velikost. Imajo enak koncept kot običajne A/B particije, le da jim je mogoče poljubno spreminjati velikost.

Če naprava, ki se zažene z Androidom 11, ne podpira navideznih A/B particij, ne bo uspela VTS. Če naprava ne deluje VTS, je ni mogoče dostaviti z Googlovimi mobilnimi storitvami. Z drugimi besedami, Google je dejansko zahteval, da proizvajalci originalne opreme podpirajo virtualne A/B particije in posledično brezhibne posodobitve.


Posodobitev: Virtual A/B ni potreben za Android 11

Ko smo aprila prvič poročali, da Google zahteva, da vse naprave za zagon Android 11 podpirajo mehanizem za virtualno posodobitev A/B, je bilo navdušenje veliko, saj bi končno omogočilo nemoteno posodabljanje telefonov Samsung. Na žalost se je izkazalo, da se je Google odločil, da virtualne A/B podpore ne bo zahteval. Android 11 Dokument z opredelitvijo združljivosti (CDD) se trenutno glasi "implementacije naprav MORAJO podpirati sistemske posodobitve A/B" namesto podpore "MORA". Zdi se, da se je Google na neki točki pred izdajo Androida 11 odločil odstopiti od svoje odločitve, da zahteva podporo za virtualno A/B, verjetno ob po naročilu več proizvajalcev originalne opreme. To se dogaja precej pogosto, vendar se nikoli ne posreduje javnosti, saj se objavi le končni osnutek CDD na spletu.