Android Oreo tutvustab teemade käsurea liidest

Android Oreo sisaldab käsurea liidese tuge RRO-teemade jaoks, vihjates operatsioonisüsteemile, mis läheneb süsteemiülesele teematoele.

Android Oreo käivitamisega kaasneb palju aega, mis kulub lähtekoodis peidetud maiuspalade otsimisele. Varem on Androidi insenerimeeskonnal rääkis teemade lubamisest Android O-s. Teatasime mais et Android O teine ​​arendaja eelvaade võis olla vihje sellele, et Google toetab Overlay Manager Service'i (OMS) ja Runtime Resource Overlay'i (RRO), kuid nüüd teame kindlalt, et see nii oli. Android Oreo nüüd, tehniliselt, toetab OMS/RRO teemasid ja pakub isegi liidest teemade lubamiseks või keelamiseks, eeldusel, et saate käsurealt kasutada.

Värskendus: Substratum on kasutanud neid käske koos arendaja eelvaadetega ja nüüd ka Oreoga, sest need olid saadaval!


Mis on RRO ja OMS?

Sony töötas RRO sisemiselt välja Sony Xperia liini teemafunktsioonide jaoks. Arendajad, kes mõistsid selle olulisust, töötasid selle nimel, et laiendada selle tuge teistele ROM-idele ja sellega kaasnes RRO-teemastamine paljudes seadmetes – mitte ainult Sony seadmetes. See asendas geniaalselt ressursid rakenduse käitusajal, mis oli kasutuslihtsus, mida sel ajal ei näinud teised teemavalikud. Sellest on arenenud OMS, mille töötas välja ka Sony ettevõttesiseselt. Kuulus

Kihtide haldur kasutas algselt RRO-teemasid, kuid hiljem kohandati OMS-i raamistikuks, mida praegu tuntakse substraatmina, ja see on meie foorumite kasutajatele kõige tuttavam teemaraamistik. Meie foorumites olevad OMS-i kohustustega ROM-id tähendavad, et need toetavad Substratumi standardset teemamootorit. Substraadi pärandrežiim kasutab RRO-teemasid.


Android Oreo tutvustab teemakäske

Näib, et Google soovib nüüd AOSP-s seda teematüüpi täielikult toetada, võib-olla liikuda täieliku süsteemitoega teemahalduri poole. Android Gerriti puhul on Google viimastel kuudel (ja Android Oreo puhul) teinud mitmeid muudatusi, mis soovitavad liikuda teemamootori lubamiseks kogu süsteemis. Muudatused on allpool koos linkidega nende vastavatele kohustustele.

  • Ülekatte käsud
  • Kasutusele võetud OverlayManagerService (OMS).
  • Uus luba pealkirjaga CHANGE_OVERLAY_PACKAGES

Kõik need muudatused tähendavad Google'i liikumist mingisuguse süsteemiteemarakenduse poole, mis tuleb tulevikus kaasata. Eespool loetletud luba nõuab süsteemiõigusi ja tähendab seega, et seda luba saab kasutada ainult süsteemirakendus (või juurjuurdepääsuga rakendus). Sellegipoolest on see huvitav, kuna see näitab, et Google töötab lõpuks selle nimel midagi.

Miks siis ainult tehniliselt kas Android Oreo toetab teemasid? Noh, lihtne vastus on, et kuigi saate kasutada teemade installimise süsteemimeetodit, oleks see üsna mõttetu. Seda seetõttu, et kuigi saate installitud teemade haldamiseks kasutada uut käsurea liidest, ei saa te seda tegelikult teha installige uued teemad ilma juurjuurdepääsuta, sest teemad peavad minema kataloogi, mis on kasutaja jaoks piiratud ruumi. Juurjuurdepääsuga saate Substratumi teema niikuinii lihtsalt lubada, nii et pole vaja seda uuel viisil teha. Google ei ole seadme teemasse lisanud süsteemirakendust, nii et seni pole äsja kaasatud viisil proovimisest mingit kasu.

Käsurea teemaliides

Meie XDA-s testisime käsku Google Pixelis, kus töötab Android Oreo versioon. Otsustasime mõnda käsku testida ja kasutasime esmalt

cmd overlays list

kõigi eelinstallitud ülekatete vaatamiseks. Märkasime faili "com.google.android.theme.pixel" olemasolu, keelasime selle ja lubasime selle asemel "android.auto_generated_rro__", käivitades järgmised käsud.

Nagu siin näha, on standardne ülekate keelatud ja automaatselt loodud ülekate on lubatud. Käivitades oma käsu installitud ülekatete uuesti vaatamiseks, näeme järgmist väljundit.

Selle tulemuseks on meie Google Pixelis uue teemaga Androidi süsteemiseadete rakendus. Pange tähele, et ülaltoodud ülekatete loend sisaldab ka Substratumi abil installitud teemasid ja me saime neid sama lihtsalt lubada/keelata.

auto_generated_rro teema

Samuti leidsime allikast läbi kaevates teise käsu. Käsk on järgmine

cmd overlay dump --user 0

annab meile järgmise väljundi.

Väljund

Seaded

android.auto_generated_rro__: 0 {

mPackageName...: android.auto_generated_rro__

kasutaja ID...: 0

mTargetPackageName.: android

mBaseCodePath...: /vendor/overlay/framework-res__auto_generated_rro.apk

mState...: STATE_ENABLED

misEnabled...: tõsi

misStatic...: tõsi

}

com.google.android.theme.pixel: 0 {

mPackageName...: com.google.android.theme.pixel

kasutaja ID...: 0

mTargetPackageName.: android

mBaseCodePath...: /vendor/overlay/Pixel/PixelThemeOverlay.apk

mState...: STATE_DISABLED

misEnabled...: vale

misStatic...: vale

}

Vaikeülekatted: com.google.android.theme.pixel

PackageInfo vahemälu

2 paketti

Loe rohkem

Nagu näha, on Google teinud palju tööd teemamootori arendamiseks ja selle integreerimiseks AOSP allikasse. Näib, et kui see tuleks lisada kogu süsteemis, teemad oleks System UI tuuneris lubatud. Google'il on ka andis originaalseadmete valmistajatele teavet, seega on võimalik, et täiendavad originaalseadmete tootjad võivad tulevikus Android Oreos lubada AOSP-versioonil põhinevat kujundustuge.

Üldiselt on see väga põnev areng. Teemakujundus on üks paljudest osadest, mis määratleb Androidi teie telefonis täielikult kohandatava operatsioonisüsteemina, isegi kui see nõuab praegu kogu süsteemi hõlmavate teemade juurutamist. Tulevikus, kui see võimaldaks töötada ilma juurjuurdepääsuta, oleks see suur samm kasutajavabaduse suunas. Muidugi võib see olla mõnda aega System UI tuuneris lukustatud (kuna katkised teemad võivad rakendusi rikkuda), kuid lubades See, et kasutaja isegi kasutab oma teemade tuge, on mobiilseadmetele tohutu täiendus süsteem.