DSU-urile Android 10 vă pot permite să încercați actualizări OTA fără a vă angaja

Ați vrut vreodată să încercați o actualizare fără a actualiza efectiv? DSU din Android 10 este conceput pentru asta, dar este limitat în prezent. Asta s-ar putea schimba în curând.

Sistemul de operare Android și fragmentarea nivelului de securitate reprezintă o problemă uriașă pe care Google investește mult efort ingineresc pentru a o combate. În ultimii doi ani, Google a anunțat două inițiative majore menite să accelereze lansarea actualizărilor: Proiect Treble și Linia principală a proiectului. Acesta din urmă a fost anunțat abia în luna mai Google I/O 2019și este acceptat numai pe dispozitivele care se lansează cu Android 10. Primul, însă, există de atunci Google I/O 2017, așa că am văzut cât de mult impact a avut asupra actualizărilor Android cu Android 9 Pie și Android 10.

Pe lângă reducerea fragmentării, Google dorește și ca Project Treble să fie util pentru dezvoltatorii de aplicații. De aceea au dezvăluit Actualizări dinamice ale sistemului (DSU) în Android 10 pentru a permite dezvoltatorilor să încerce o versiune simplă a unei noi actualizări a sistemului de operare fără a debloca bootloader-ul sau a șterge datele. Văzând potențialul DSU, Google nu se oprește aici – își extind utilitatea făcând posibil ca actualizările OTA de la OEM să fie instalate în același mod în care sunt instalate GSI-urile.

Este mult jargon, dar imaginați-vă că acest lucru se va întâmpla în viitor: un OEM lansează un telefon cu Android 10 și pornește un program beta pentru Android 11. Sunteți interesat să încercați această versiune beta pentru a vedea noile funcții, dar nu doriți să riscați stabilitatea actualului driver zilnic. În loc să afișați actualizarea beta și apoi să sperăm că este perfect stabilă, de ce să nu o instalați temporar prin fluxul DSU? Dacă nu vă place, reporniți și configurarea va reveni la normal. Dacă îți place, te poți „cometa” la actualizare.

Nu știu despre tine, dar aceasta ar fi o schimbare binevenită la Android, care ar face testarea beta mai plăcută. Nu ar mai trebui să te angajezi la o actualizare beta doar pentru a vedea cum este pentru tine. Sunt sigur că mulți dintre voi sunt dornici să vedeți un Android 10 beta pentru dispozitivul dvs., dar este posibil să nu vă simțiți confortabil să îl instalați imediat. Odată cu modificările aduse DSU, asta nu ar mai fi o preocupare.

Actualizări dinamice de sistem în Android 10+ - Ce se schimbă

Luca Stefani, un prieten al Portalului XDA si a Dezvoltator recunoscut, ne-a informat despre a nou comit fuzionat în AOSP intitulat „montează mai multe partiții DSU atunci când sunt prezente”. Commit-ul face modificări în tabelul sistemului de fișiere (fstab) și în init pentru a face astfel încât partițiile DSU, altele decât sistemul, incluzând deocamdată produsul și furnizorul, să poată fi montate în timpul pornirii proces.

Cod nou în fstab pentru a adăuga suport pentru încărcarea imaginilor product_gsi și vendor_gsi în locul partițiilor existente ale produsului și respectiv al furnizorului. Un comentariu notează că DSU-urile pot fi semnate de OEM, dar în caz contrar acceptă GSI-urile oficiale Google.

În prezent, DSU este conceput pentru a vă permite doar să porniți o imagine de sistem generică (GSI), o imagine de sistem simplă compilată din AOSP, astfel încât să puteți testa noile API-uri și alte modificări în cea mai recentă actualizare Android. Cu toate acestea, odată cu această modificare, DSU va accepta și imagini ale produselor și ale furnizorului. Primul conține aplicații, biblioteci și alte fișiere specifice dispozitivului, în timp ce cel de-al doilea conține fișiere binare specifice dispozitivului. Proiectul Treble a făcut astfel încât să puteți porni un dispozitiv folosind o imagine de sistem fără fișiere specifice dispozitivului, astfel încât să permiteți acum încărcarea produsului și a furnizorului nu pare să aibă prea mult sens.

Cu toate acestea, un inginer Google spune în mod explicit că această modificare este pentru a „permite OEM-urilor [să] instaleze pachete OTA pe /data, apoi utilizând [fluxul] „DSU” pentru a monta product.img, system.img, [și] vendor.img din /data." Aceasta înseamnă că, în loc să suprascrieți instalarea curentă cu noul pachet OTA, OTA poate fi încărcat temporar prin DSU. După ce a încercat actualizarea OTA, „utilizatorul poate decide dacă dorește să „commite” acele imagini în /super sau nu”. Această ultimă parte despre „angajarea” modificărilor este încă în lucru, deoarece un inginer Google notează că „în prezent nu avem un plan de a face partiții DSU permanent în contextul DSU." Apoi, el afirmă cum ar putea fi implementat acest lucru, dar că această implementare este "dincolo de sfera de aplicare" a acestui patch-ul curent.

Există câțiva termeni și concepte pe care trebuie să le explicăm aici, deoarece Google îi place să schimbe schema de partiții în fiecare versiune de Android. Pentru început, vă recomand să citiți articolul meu anterior despre Actualizări dinamice ale sistemului pentru o privire de ansamblu asupra modului în care funcționează, dar, în rezumat, profită de conceptul de „partiție dinamică”, o partiție reală de stocare (numită partiția „super”) care este împărțită în partiții logice redimensionabile (inclusiv system, vendor, product și system_ext), pentru a instala temporar un GSI. La instalarea unui GSI, DSU creează spațiu pentru noul sistem și imaginile de date utilizator prin redimensionarea partiției existente de date utilizator. Elementele de bază pentru suportul DSU (partiții dinamice, un disc ram și puncte de control pentru copiile de siguranță ale datelor) sunt cerințele de lansare pentru Android 10, așa că orice dispozitiv care se lansează cu noua versiune a sistemului de operare Android ar trebui să accepte DSU. DSU nu este soluția dual boot pentru ROM-uri personalizate pe care o căutați unii dintre voi, deoarece pot fi instalate doar imaginile care se potrivesc cu cheile Android Verified Boot (AVB). Cu toate acestea, cu această nouă schimbare, s-ar putea dovedi mult mai utilă în viitor.

Pe lângă partițiile dinamice, Google a introdus și conceptul de „A/B virtual” în Android 10. Aceasta este practic o implementare a partiții duble A/B de înainte, dar cu partiții logice în schimb. Partițiile A/B implică copii ale partițiilor importante pentru a permite actualizări fără întreruperi și sigure. Folosind „virtual A/B” este modul în care un inginer Google prevede „angajarea” partițiilor DSU pe partițiile din instalarea curentă; ca și în cazul actualului proces de actualizare A/B OTA, poate că modificările de la noile imagini sunt făcute în partiția inactivă.

Aceste modificări sunt încă în curs de dezvoltare și ar putea dura ceva timp până să fie folosite de Google sau de OEM. Noi probabil că nu va vedea nicio implementare a acestui lucru până când, cel mai devreme, va fi lansat Android 11 R. an. Chiar și așa, nu există nicio garanție că OEM-urile adoptă această caracteristică pentru actualizările OTA. Având în vedere cât de util pare să fie acest lucru pentru testarea beta, îmi imaginez că Google lucrează deja cu OEM-uri interesați pentru a activa această funcție pentru actualizările viitoare. Personal sunt încântat de perspectiva de a încerca, înainte de a cumpăra noi actualizări Android, dar ce rămâne cu tine?