Uudet Android 11 -laitteet eivät välttämättä tue virtuaalista A/B: tä saumattomille päivityksille

Google perääntyi vaatiessaan OEM-valmistajilta virtuaalista A/B: tä uusissa Android 11 -laitteissa, mikä olisi tasoittanut tietä saumattomille päivityksille.

Päivitys 1 (25.1.2021 klo 14.06 ET): Ennen Android 11:n julkaisua Google näyttää perääntyneen vaatimuksesta, että käynnistyslaitteet tukevat virtuaalista A/B: tä. Napsauta tätä saadaksesi lisätietoja. Artikkeli sellaisena kuin se on julkaistu 7.4.2021, säilytetään alla.

Android 7.0 Nougatissa Google esitteli osiojärjestelmän, joka on suunniteltu nopeuttamaan ohjelmistopäivityksiä. Nougatissa Google lisäsi tuen tiettyjen osioiden monistamiseen, jotta passiiviset osiot voidaan päivittää taustalla ja vaihtaa sitten aktiivisiksi nopealla uudelleenkäynnistyksellä. Tämä "A/B-osion" asetukset mahdollistavat "saumattomat päivitykset" tapahtua tuetuissa Android-laitteissa, kuten Googlen Chrome-käyttöjärjestelmässä. Google ei kuitenkaan ole koskaan määrännyt A/B-osioiden käyttöä, joten monet laitteet eivät tue saumattomia päivityksiä. Tämä voi kuitenkin muuttua Android 11:n kanssa, koska Google tekee äskettäin lanseeratuille laitteille pakollisen tukemaan virtuaalisia A/B-osioita.

Vähän taustaa varten A/B-osiot viittaavat monistettuihin vain luku -osioihin. Kaksinkertaiset osiot sisältävät yleensä järjestelmä-, toimittaja-, käynnistys- ja tuoteosiot. Kun puhelin lataa päivitystä, päivitysohjelma korjaa ei-aktiiviset osiot (yksi "paikka") taustalla. Kun päivitys on otettu käyttöön ei-aktiivisessa paikassa, käyttäjää kehotetaan käynnistämään laite uudelleen. Kun käyttäjä käynnistää laitteen uudelleen, ei-aktiivinen paikka vaihtaa paikkaa aktiivisen paikan kanssa, jolloin päivitysprosessi päättyy. Aiemmin aktiivinen paikka jätetään koskemattomaksi, jos äskettäin päivitetyn paikan käynnistämisessä on ongelmia. Kun seuraava päivitys tulee, tämä prosessi toistetaan. Jos olet kiinnostunut teknisemmistä selityksistä, katso Googlen kehittäjädokumentaatio A/B-osioilla.

Sitä vastoin laitteet, joissa ei ole A/B-osioita, kuten Samsung Galaxy S20, OPPO Find X2 ja monet muut, käyttävät päivityksiä erillisen päivitysohjelman kautta palautusprosessissa. Tämä potkaisee käyttäjän Androidista, eikä hän voi käyttää laitettaan useisiin minuutteihin, jolloin hän voi menettää tärkeitä ilmoituksia, puheluita tai tekstiviestejä. Google uskoo, että päivitysprosessin yksinkertaistaminen johtaa siihen, että useammat ihmiset todella ottavat päivityksen sen käyttöönoton jälkeen. itse asiassa toukokuussa 2017, Google löysi sen suurempi prosenttiosuus Pixel-käyttäjistä kuin Nexus-käyttäjistä käytti viimeisintä tietoturvapäivitystä. Tietenkin käyttäjä voi ajoittaa päivityksiä tapahtuvaksi, kun hän ei käytä laitettaan aktiivisesti, mutta monet käyttäjät eivät yksinkertaisesti päivitä laitettaan kehotuksesta huolimatta. Lisäksi, koska käyttäjällä ei ole A/B-osioita, hän jää paitsi yhdestä sen luontaisista eduista: sen suojaamisesta virheellisiltä järjestelmäpäivityksiltä.

Esimerkiksi kun Xiaomi julkaisi ensimmäisen kerran Android 10 -päivityksen Mi A2 Liten kohdalla monet käyttäjät huomasivat, että heidän laitteensa eivät käynnistyneet. Heidän onneksensa Mi A2 Lite -laitteessa on A/B-osiot saumattomia päivityksiä varten foorumeilta löytyi käyttäjiä että he voisivat käyttää fastboot-komentoa asettaakseen käynnistyslataimen käynnistämään koskemattomat, aiemmin aktiiviset osiot. Siten A/B-osiot eivät ainoastaan ​​tarjoa käyttäjille paljon nopeampaa päivitysprosessia, vaan ne toimivat myös vikasietoisina päivityksille. OEM-valmistajat, jotka eivät ole ottaneet käyttöön A/B-osioita, voivat silti suunnitella oman tapansa suojautua OTA: lta vikoja, vaikka miksi käydä läpi näitä ongelmia, kun tämä suoja on osa A/B: n suunnittelua väliseinät? Viitteellesi tässä on osittainen (ja tosin vanhentunut) luettelo laitteista, jotka tukevat A/B-osioita saumattomia päivityksiä varten, ja tässä on opetusohjelma kuinka tarkistaa, tukeeko oma laitteesi ominaisuutta.

Saattaa tuntua hämmentävältä, miksi tietyt OEM-valmistajat pitävät Samsung veloittaa 1 400 dollaria älypuhelimesta, mutta ei tarjoa niin hienoa ominaisuutta. Syynä on yleensä tallennustila: OEM-valmistajat eivät halua uhrata muutamaa gigatavua tallennustilaa saumattomien päivitysten tukemiseksi. Samsung Galaxy S20:n kaltaisissa puhelimissa on a tonnia esiasennetun ohjelmiston, joten osioiden, kuten /system ja /product, monistaminen johtaa monien valtavien tiedostojen ja sovellusten monistukseen. Google onnistui toteuttamaan A/B-osioita tinkimättä liikaa tallennustilasta näppärän tempun ansiosta kiertää massiivisten .odex-tiedostojen moninkertaistamista. Toinen syy, miksi OEM-valmistajat ovat saattaneet olla ottamatta käyttöön A/B-osioita, on hinta: Pysyminen Googlen kanssa Androidin osiojärjestelmien jatkuvat muutokset vaativat paljon vaivaa, sillä XDA Recognized Developer topjohnwu kertoo sinulle. Ellei OEM-valmistajia pakoteta siihen, monet eivät vaivaudu muuttamaan sitä, mikä heille jo toimii.

Lopulta Google näyttää kuitenkin säätävän lain Android 11:ssä. Pakottamalla virtuaalisten A/B-osioiden käyttöönottoa äskettäin lanseeratuissa laitteissa he ovat vain vakuuttaneet, että OEM-valmistajien on tuettava saumattomia päivityksiä loppuvuoden 2020 ja 2021 laitteilleen. Kuten XDA Recognized Developer havaitsi luca020400, Yifan Hong, Googlen ohjelmistosuunnittelija Project Treble -tiimissä, lähetti AOSP Gerrit -sitoumuksen otsikolla "Vaadi Virtual A/B R-käynnistyksiäToimitus päivittää Vendor Test Suiten eli VTS: n, joka on automaattinen testi, joka kaikkien laitteiden on läpäistävä, jotta niitä voidaan pitää Project Treblen kanssa yhteensopivina. Uusi testi tarkistaa, onko järjestelmän ominaisuus "ro.virtual_ab.enabled" on tosi ja jos "ro.virtual_ab.retrofit" on asetettu arvoon false laitteissa, joiden toimitus API-taso on 30 tai korkeampi. Toisin sanoen tämä testi tarkistaa, tukeeko Android 11:llä tai uudemmalla käynnistyvä laite virtuaalisia A/B-osioita. "Virtuaaliset" A/B-osiot esiteltiin Android 10:ssä yhdessä "dynaamisten osioiden" kanssa, jotka ovat dynaamisesti muokattavia osioita. Ne ovat sama käsite kuin tavalliset A/B-osiot, paitsi että niiden kokoa voidaan vapaasti muuttaa.

Jos Android 11:llä käynnistyvä laite ei tue virtuaalisia A/B-osioita, se epäonnistuu VTS: ssä. Jos laite ei toimi VTS: ssä, sitä ei voi toimittaa Google Mobile Services -palvelun kanssa. Toisin sanoen Google on käytännössä vaatinut, että OEM-valmistajat tukevat virtuaalisia A/B-osioita ja sitä kautta myös saumattomia päivityksiä.


Päivitys: Virtuaalista A/B: tä ei vaadita Android 11:lle

Kun ilmoitimme ensimmäisen kerran huhtikuussa, että Google edellyttää kaikkien Android 11 -käynnistyslaitteiden tukemista virtuaalinen A/B-päivitysmekanismi, oli paljon jännitystä, koska se olisi vihdoin saanut Samsungin puhelimiin saamaan saumattomat päivitykset. Valitettavasti kävi ilmi, että Google päätti olla asettamatta virtuaalista A/B-tukea vaatimukseen. Android 11:t Yhteensopivuusmääritelmäasiakirja (CDD) lukee tällä hetkellä "laitetoteutusten PITÄÄ tukea A/B-järjestelmäpäivityksiä" eikä "PITÄÄ" tukea. Näyttää siltä, ​​että jossain vaiheessa ennen Android 11:n julkaisua Google päätti peruuttaa päätöksensä vaatia virtuaalista A/B-tukea, todennäköisesti klo. useiden OEM-valmistajien pyynnöstä. Tätä tapahtuu melko usein, mutta sitä ei koskaan välitetä yleisölle, koska vain CDD: n lopullinen luonnos julkaistaan verkossa.