Google atteicās no prasības, lai oriģinālā aprīkojuma ražotāji atbalstītu virtuālo A/B jaunajās Android 11 ierīcēs, kas būtu pavēris ceļu nemanāmiem atjauninājumiem.
1. atjauninājums (25.01.2021. plkst. 14:06 ET): Šķiet, ka pirms operētājsistēmas Android 11 izlaišanas Google ir atkāpusies no prasības palaišanas ierīcēm atbalstīt virtuālo A/B. Noklikšķiniet šeit, lai iegūtu vairāk informācijas. Tālāk ir saglabāts raksts, kas publicēts 2021. gada 7. aprīlī.
Izmantojot operētājsistēmu Android 7.0 Nougat, Google ieviesa nodalījumu shēmu, kas paredzēta programmatūras atjaunināšanas paātrināšanai. Programmā Nougat Google pievienoja atbalstu noteiktu nodalījumu dublēšanai, lai neaktīvos nodalījumus varētu atjaunināt fonā un pēc tam nomainīt uz aktīviem ar ātru atsāknēšanu. Šis "A/B nodalījuma" iestatīšana ļauj veikt "nevainojamus atjauninājumus" kas notiks atbalstītās Android ierīcēs, līdzīgi kā Google Chrome OS. Tomēr Google nekad nav licis izmantot A/B nodalījumus, tāpēc ir daudz ierīču, kas neatbalsta vienmērīgus atjauninājumus. Tomēr tas varētu mainīties ar operētājsistēmu Android 11, jo Google nosaka, ka nesen palaistām ierīcēm ir obligāti jāatbalsta virtuālās A / B nodalījumi.
Lai iegūtu nelielu fonu, A/B nodalījumi attiecas uz dublēto tikai lasāmo nodalījumu kopu. Dublētie nodalījumi parasti ietver sistēmas, piegādātāja, sāknēšanas un produkta nodalījumus. Kad tālrunis lejupielādē atjauninājumu, atjauninātājs fonā izlabo neaktīvo nodalījumu kopu (vienu "slotu"). Kad atjauninājums ir pabeigts neaktīvajā slotā, lietotājam tiek piedāvāts pārstartēt ierīci. Kad lietotājs pārstartē ierīci, neaktīvais slots apmaina vietu ar aktīvo slotu, pabeidzot atjaunināšanas procesu. Iepriekš aktīvais slots tiek atstāts neskarts, ja rodas problēmas ar tikko atjauninātā slota sāknēšanu. Kad tiek veikts nākamais atjauninājums, šis process tiek atkārtots. Ja jūs interesē tehniskāks skaidrojums, skatiet Google izstrādātāju dokumentāciju uz A/B starpsienām.
Turpretim ierīces bez A/B nodalījumiem, piemēram, Samsung Galaxy S20, OPPO Find X2 un daudzas citas, atkopšanas procesā lieto atjauninājumus, izmantojot īpašu atjauninātāju. Tādējādi lietotājs tiek izslēgts no Android un vairākas minūtes nevar izmantot savu ierīci, iespējams, trūkst svarīgu paziņojumu, zvanu vai īsziņu. Google uzskata, ka atjaunināšanas procesa vienkāršošana noved pie tā, ka vairāk cilvēku faktiski izmanto atjauninājumu pēc tā izlaišanas; faktiski 2017. gada maijā Google to atrada lielāka daļa Pixel lietotāju nekā Nexus lietotāji izmantoja jaunāko drošības atjauninājumu. Protams, lietotājs var ieplānot atjauninājumus, kad viņi aktīvi neizmanto savu ierīci, taču daudzi lietotāji vienkārši neatjaunina ierīci pat tad, kad tiek prasīts. Turklāt, ja nav A/B nodalījumu, lietotājs palaiž garām vienu no tā raksturīgajām priekšrocībām: pasargā tos no bojātiem sistēmas atjauninājumiem.
Piemēram, kad Xiaomi pirmo reizi izlaida Android 10 atjauninājumu Attiecībā uz Mi A2 Lite daudzi lietotāji atklāja, ka viņu ierīces netiek palaistas. Viņiem par laimi, Mi A2 Lite ir A/B nodalījumi netraucētiem atjauninājumiem, tāpēc atrasti lietotāji mūsu forumos ka viņi varētu izmantot ātrās sāknēšanas komandu, lai iestatītu sāknēšanas ielādētāju, lai palaistu neskarto, iepriekš aktīvo nodalījumu kopu. Tādējādi A/B nodalījumi ne tikai nodrošina lietotājiem daudz ātrāku atjaunināšanas procesu, bet arī darbojas kā kļūmju drošības līdzeklis bojātiem atjauninājumiem. OEM, kas nav ieviesuši A/B nodalījumus, joprojām var izstrādāt savu veidu, kā aizsargāties pret OTA kļūmes, lai gan kāpēc piedzīvot šādas problēmas, ja šī aizsardzība ir daļa no A/B dizaina starpsienas? Jūsu uzziņai, šeit ir daļēja (un, protams, novecojusi) ierīču saraksts, kas atbalsta A/B nodalījumus nevainojamiem atjauninājumiem, un šeit ir apmācība par to kā pārbaudīt, vai jūsu ierīce atbalsta šo funkciju.
Var šķist mulsinoši, kāpēc dažiem oriģinālā aprīkojuma ražotājiem tas patīk Samsung par viedtālruni iekasē 1400 USD, taču nepiedāvās tik lielisku funkciju. Iemesls parasti ir saistīts ar krātuvi: oriģinālo iekārtu ražotāji nevēlas upurēt dažus gigabaitus krātuves vietas, lai atbalstītu nemanāmus atjauninājumus. Tālruņiem, piemēram, Samsung Galaxy S20, ir tonnu iepriekš instalētas programmatūras, tāpēc, dublējot nodalījumus, piemēram, /system un /product, tiks dublēti daudzi milzīgi faili un lietojumprogrammas. Google izdevās ieviest A/B nodalījumus, nezaudējot pārāk lielu krātuves vietu pateicoties gudram trikam lai novērstu masveida .odex failu dublēšanas problēmu. Vēl viens iemesls, kāpēc OEM, iespējams, ir izvēlējušies neieviest A/B nodalījumus, ir izmaksas: sekot līdzi Google pastāvīgas izmaiņas Android nodalījumu shēmās prasa daudz pūļu, jo XDA atzītais izstrādātājs topjohnwu pateiks tev. Ja vien oriģinālo iekārtu ražotāji nav spiesti to darīt, daudzi neuztraucas mainīt to, kas viņiem jau ir piemērots.
Visbeidzot, šķiet, ka Google nosaka likumu operētājsistēmā Android 11. Piespiežot ieviest virtuālos A/B nodalījumus tikko izlaistajās ierīcēs, viņi visi ir pārliecinājušies, ka oriģinālo iekārtu ražotājiem būs jāatbalsta netraucēti atjauninājumi savām 2020. gada beigu un 2021. gada ierīcēm. Kā pamanījis XDA atzītais izstrādātājs luca020400, Yifan Hong, Google programmatūras inženieris Project Treble komandā, iesniedza AOSP Gerrit saistības ar nosaukumu "Nepieciešama virtuālā A/B uz R palaišanaSaistībā tiek atjaunināts Vendor Test Suite jeb VTS, kas ir automatizēts tests, kas jāiztur visām ierīcēm, lai tās uzskatītu par saderīgām ar Project Treble. Jaunais tests pārbauda, vai sistēmas rekvizīts "ro.virtual_ab.enabled
" ir iestatīts uz patiesu un ja "ro.virtual_ab.retrofit
" ir iestatīts uz false ierīcēs, kuru piegādes API līmenis ir 30 vai augstāks. Citiem vārdiem sakot, šis tests pārbauda, vai ierīce, kas tiek palaista ar operētājsistēmu Android 11 vai jaunāku versiju, atbalsta virtuālos A/B nodalījumus. "Virtuālie" A/B nodalījumi tika ieviesti operētājsistēmā Android 10 līdzās "dinamiskajiem nodalījumiem", kas ir dinamiski maināmi nodalījumi. Tiem ir tāds pats jēdziens kā parastajiem A/B nodalījumiem, izņemot to, ka to izmērus var brīvi mainīt.
Ja ierīce, kas tiek palaista ar operētājsistēmu Android 11, neatbalsta virtuālos A/B nodalījumus, tā neizdosies VTS. Ja ierīcē neizdodas VTS, to nevar piegādāt ar Google Mobile Services. Citiem vārdiem sakot, Google ir faktiski izvirzījusi prasību oriģinālo iekārtu ražotājiem atbalstīt virtuālās A/B nodalījumus un līdz ar to arī nemanāmus atjauninājumus.
Atjauninājums: operētājsistēmai Android 11 nav nepieciešams virtuālais A/B
Kad aprīlī pirmo reizi ziņojām, ka Google pieprasa, lai visas Android 11 palaišanas ierīces atbalstītu virtuālais A/B atjaunināšanas mehānisms, bija liels uztraukums, jo tas beidzot būtu licis Samsung tālruņiem nodrošināt nevainojamus atjauninājumus. Diemžēl izrādās, ka Google nolēma neizvirzīt prasību par virtuālo A/B atbalstu. Android 11 Saderības definīcijas dokuments (CDD) pašlaik ir rakstīts “ierīču ieviešanai JĀatbalsta A/B sistēmas atjauninājumi”, nevis “OBLIGĀTI” atbalsts. Šķiet, ka kādā brīdī pirms Android 11 izlaišanas Google nolēma atsaukt savu lēmumu pieprasīt virtuālo A/B atbalstu, iespējams, plkst. pēc vairāku oriģinālo iekārtu ražotāju pasūtījuma. Tas notiek diezgan bieži, taču tas nekad netiek nodots sabiedrībai, jo tiek publicēts tikai CDD galīgais projekts tiešsaistē.