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.
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.