Kas olete kunagi tahtnud värskendust proovida ilma tegelikult värskendamata? Android 10 DSU on selleks loodud, kuid praegu on see piiratud. See võib varsti muutuda.
Android OS ja turbetaseme killustatus on suur probleem, mille vastu võitlemiseks Google investeerib palju tehnilisi jõupingutusi. Viimase kahe aasta jooksul teatas Google kahest suurest algatusest, mille eesmärk on kiirendada värskenduste kasutuselevõttu: Projekt Treble ja Projekti põhiliin. Viimasest teatati alles tänavu mais Google I/O 2019ja seda toetatakse ainult seadmetes, mis käivituvad operatsioonisüsteemiga Android 10. Esimene on aga olnud sellest ajast peale Google I/O 2017, seega oleme näinud, kui suurt mõju see Androidi värskendustele avaldas operatsioonisüsteemiga Android 9 Pie ja Android 10.
Lisaks killustatuse vähendamisele soovib Google, et Project Treble oleks rakenduste arendajatele kasulik. Sellepärast nad avalikustasidki Dünaamilised süsteemivärskendused (DSU) operatsioonisüsteemis Android 10, et võimaldada arendajatel proovida uue OS-i värskenduse barebone versiooni ilma alglaadurit avamata või andmeid kustutamata. Nähes DSU potentsiaali, ei peatu Google sellega – nad laiendavad oma utiliiti, võimaldades OTA-värskenduste installimist originaalseadmete tootjatelt samamoodi nagu GSI-sid.
See on palju kõnepruuki, kuid kujutage ette, et see juhtub tulevikus: originaalseadmete tootja laseb välja Android 10-ga telefoni ja käivitab Android 11 beetaprogrammi. Olete huvitatud selle beetaversiooni proovimisest, et näha uusi funktsioone, kuid te ei soovi riskida oma praeguse igapäevase juhi stabiilsusega. Selle asemel, et beetavärskendust vilkuda ja seejärel loota, et see on täiesti stabiilne, miks mitte installida see ajutiselt DSU voo kaudu? Kui see teile ei meeldi, taaskäivitage ja teie seadistus naaseb normaalseks. Kui teile see meeldib, saate värskendusele "pühenduda".
Ma ei tea, kuidas teil on, aga see oleks teretulnud muudatus Androidis, mis muudaks beetatestimise nauditavamaks. Te ei pea enam pühenduma beetavärskendusele, et näha, milline see ise on. Olen kindel, et paljud teist soovivad oma seadme jaoks Android 10 beetaversiooni näha, kuid te ei pruugi seda kohe installida. DSU-s tehtud muudatustega poleks see enam muret tekitav.
Dünaamilised süsteemivärskendused operatsioonisüsteemis Android 10+ – mis muutub
Luca Stefani, XDA portaali sõber ja a Tunnustatud arendaja, teavitas meid a uus kohustus liideti AOSP-s pealkirjaga "monteerige mitu DSU partitsiooni, kui see on olemas". Kinnitus muudab failisüsteemi tabelis (fstab) ja init protsessi, et teha see nii, et alglaadimise ajal saaks monteerida ka muid DSU partitsioone peale süsteemi, sealhulgas toote ja tarnija protsessi.
Praegu on DSU loodud nii, et see võimaldab teil käivitada ainult üldist süsteemipilti (GSI), AOSP-st koostatud barebone-süsteemi kujutist, et saaksite testida uusi API-sid ja muid muudatusi uusimas Androidi värskenduses. Selle muudatusega aktsepteerib DSU aga ka toote- ja tarnijapilte. Esimene sisaldab seadmepõhiseid rakendusi, teeke ja muid faile, teine aga seadmespetsiifilisi binaarfaile. Project Treble tegi selle nii, et saate seadme käivitada süsteemipildi abil ilma seadmespetsiifiliste failideta, nii et toote ja müüja laadimise lubamine ei tundu olevat mõttekas.
Kuid Google'i insener ütleb sõnaselgelt, et see muudatus seisneb selles, et "lubavad originaalseadmete tootjatel installida OTA-pakette saidile /data, kasutades seejärel [DSU-voogu] faili product.img ühendamiseks, system.img, [ja] vendor.img failist /data." See tähendab, et selle asemel, et praegust installi uue OTA paketiga üle kirjutada, saab OTA ajutiselt laadida DSU kaudu. Pärast OTA värskenduse proovimist "saab kasutaja otsustada, kas ta soovib need pildid kataloogi /super siduda või mitte." See viimane osa sellest muudatuste "sisseviimine" on veel töös, kuna üks Google'i insener märgib, et "praegu pole meil plaanis teha DSU partitsioone alaline DSU kontekstis." Seejärel ütleb ta, kuidas seda saaks rakendada, kuid see rakendamine on "väljaspool selle ulatust". praegune plaaster.
Siin on mõned terminid ja mõisted, mida peame siin selgitama, sest Google'ile meeldib iga Androidi versiooni partitsiooniskeemi muuta. Alustuseks soovitan lugeda üle oma eelmine artikkel teemal Dünaamilised süsteemivärskendused laia ülevaate saamiseks selle toimimisest, kuid kokkuvõttes kasutab see ära "dünaamilise partitsiooni", ühe reaalse salvestussektsiooni (nn. "superpartitsioon", mis jagatakse muudetava suurusega loogilisteks partitsioonideks (sh süsteem, tarnija, toode ja system_ext), et ajutiselt installida GSI. GSI installimisel loob DSU ruumi uuele süsteemile ja kasutajaandmete kujutistele, muutes olemasoleva kasutajaandmete partitsiooni suurust. DSU toe ehitusplokid (dünaamilised partitsioonid, ramdisk ja andmete varundamise kontrollpunktid) on käivitusnõuded Android 10, seega peaksid kõik seadmed, mis käivituvad uue Android OS-i versiooniga, toetama DSU-d. DSU ei ole kohandatud ROM-ide jaoks mõeldud topeltkäivituslahendus, mida mõned teist otsivad, sest installida saab ainult pilte, mis vastavad Android Verified Boot (AVB) võtmetele. Selle uue muudatusega võib see aga tulevikus palju kasulikumaks osutuda.
Lisaks dünaamilistele partitsioonidele tutvustas Google Android 10-s ka virtuaalse A/B kontseptsiooni. See on põhimõtteliselt rakendus kaks A/B-sektsiooni varasemast, aga hoopis loogiliste vaheseintega. A/B-sektsioonid hõlmavad oluliste partitsioonide koopiaid, et võimaldada sujuvat ja turvalist värskendust. "Virtuaalse A/B" kasutamine on see, kuidas üks Google'i insener näeb DSU partitsioonide "kinnitamist" praeguse installi partitsioonidesse; nagu praeguse A/B OTA värskendusprotsessi puhul, võib-olla tehakse uute piltide muudatused passiivses partitsioonis.
Neid muudatusi alles arendatakse ja võib kuluda veidi aega, enne kui Google või originaalseadmete tootjad neid kasutama hakkavad. Meie tõenäoliselt ei näe selle rakendusi enne, kui Android 11 R järgmisena välja tuleb aastal. Sellegipoolest pole garantiid, et originaalseadmete tootjad võtavad selle funktsiooni isegi oma OTA värskenduste jaoks kasutusele. Arvestades, kui kasulik see näib olevat beetatestimise jaoks, kujutan ma ette, et Google teeb juba koostööd huvitatud originaalseadmete tootjatega, et lubada see funktsioon tulevaste värskenduste jaoks. Olen isiklikult elevil võimalusest proovida enne uute Androidi värskenduste ostmist, aga kuidas on lood teiega?