Android Oreo vključuje podporo vmesnika ukazne vrstice za teme RRO, kar namiguje na to, da se operacijski sistem vse bolj približuje podpori za teme v celotnem sistemu.
Z lansiranjem Android Oreo prihaja veliko časa, porabljenega za iskanje skritih dobrot v izvorni kodi. V preteklosti je inženirska ekipa za Android govoril o omogočanju tematizacije v sistemu Android O. Poročali smo maja da je bil drugi predogled za razvijalce za Android O morda namig, da Google podpira storitev Overlay Manager (OMS) in Runtime Resource Overlay (RRO), zdaj pa zagotovo vemo, da je bil. Android Oreo zdaj, tehnično, podpira tematiziranje OMS/RRO in ponuja celo vmesnik za omogočanje ali onemogočanje tem, pod pogojem, da lahko prebavite z ukazno vrstico.
Posodobitev: Substratum uporablja te ukaze s predogledi za razvijalce in zdaj z Oreom, odkar so na voljo!
Kaj sta RRO in OMS?
RRO je interno razvil Sony za funkcionalnost teme v liniji Sony Xperia. Razvijalci, ki so prepoznali njegov pomen, so si prizadevali za razširitev njegove podpore na druge ROM-e, s tem pa je prišla RRO tematika v številnih napravah – ne le v napravah Sony. Iznajdljivo je nadomestil vire med izvajanjem aplikacije, enostavnost uporabe, ki je takrat ni bilo mogoče opaziti pri drugih možnostih oblikovanja tem. To se je razvilo v OMS, ki ga je prav tako razvil Sony. Slavni
Upravitelj plasti prvotno je uporabljal RRO tematiko, vendar je bil OMS kasneje prilagojen v tisto, kar je zdaj znano kot Substratum, in je tematski okvir, ki ga uporabniki na naših forumih zdaj najbolj poznajo. ROM-i na naših forumih z zavezami OMS pomenijo, da podpirajo standardni mehanizem temiranja Substratuma. "Legacy mode" znotraj Substratuma uporablja temo RRO.Android Oreo predstavlja ukaze teme
Zdi se, da želi Google zdaj v celoti podpreti to vrsto teme v AOSP in se morda premakniti k popolnemu, sistemsko podprtemu upravitelju tem. Pri sistemu Android Gerrit je Google v zadnjih mesecih (in pri sistemu Android Oreo) izvedel številne spremembe, ki predlagajo premike za omogočanje mehanizma za temiranje v celotnem sistemu. Spremembe so spodaj s povezavami do ustreznih zavez.
- Prekrivni ukazi
- Predstavljen je OverlayManagerService (OMS).
- Novo dovoljenje z naslovom CHANGE_OVERLAY_PACKAGES
Vse te spremembe pomenijo premik Googla k neki obliki sistemske aplikacije za tematiziranje, ki bo vključena v prihodnosti. Zgoraj navedeno dovoljenje zahteva sistemske privilegije, kar pomeni, da lahko samo sistemska aplikacija (ali aplikacija s korenskim dostopom) prikliče to dovoljenje. Kljub temu je zanimivo, saj kaže, da si Google končno prizadeva nekaj.
Torej le zakaj tehnično ali Android Oreo podpira tematiziranje? No, preprost odgovor je, da čeprav lahko prikličete sistemsko metodo namestitve tem, bi se to izkazalo za precej nesmiselno. To je zato, ker čeprav lahko uporabite nov vmesnik ukazne vrstice za upravljanje nameščenih tem, tega dejansko ne morete namestite nove teme brez korenskega dostopa, ker morajo biti teme v imeniku, ki je omejen za uporabnika prostora. S korenskim dostopom lahko vseeno preprosto omogočite temo Substratum, tako da tega ni treba narediti na nov način. Google ni vključil sistemske aplikacije za tematiziranje naprave, tako da do takrat ni nobene koristi, če bi to poskušali narediti na novo vključen način.
Tematski vmesnik ukazne vrstice
Pri XDA smo preizkusili ukaz na Google Pixelu z izdajo Android Oreo. Odločili smo se preizkusiti nekaj ukazov in najprej uporabili
cmd overlays list
za ogled vseh vnaprej nameščenih prekrivk. Opazili smo obstoj »com.google.android.theme.pixel«, ga onemogočili in namesto tega omogočili »android.auto_generated_rro__« z izvajanjem naslednjih ukazov.
Kot lahko vidite tukaj, je standardno prekrivanje onemogočeno, samodejno ustvarjeno pa omogočeno. Ko ponovno zaženemo naš ukaz za ogled naših nameščenih prekrivk, vidimo naslednji rezultat.
Posledica tega je na novo tematska aplikacija za sistemske nastavitve Android na našem Google Pixelu. Upoštevajte, da zgornji seznam prekrivnih elementov vključuje tudi teme, nameščene z uporabo Substratuma, in smo jih lahko enako enostavno omogočili/onemogočili.
Med kopanjem po viru smo našli tudi drug ukaz. Ukaz je naslednji
cmd overlay dump --user 0
nam daje naslednji rezultat.
Izhod
nastavitve
android.auto_generated_rro__: 0 {
mPackageName...: android.auto_generated_rro__
mUserId...: 0
mTargetPackageName.: android
mBaseCodePath...: /vendor/overlay/framework-res__auto_generated_rro.apk
mState...: STATE_ENABLED
mIsEnabled...: res
mIsStatic...: res
}
com.google.android.theme.pixel: 0 {
mPackageName...: com.google.android.theme.pixel
mUserId...: 0
mTargetPackageName.: android
mBaseCodePath...: /vendor/overlay/Pixel/PixelThemeOverlay.apk
mState...: STATE_DISABLED
mIsEnabled...: false
mIsStatic...: napačno
}
Privzeti prekrivki: com.google.android.theme.pixel
Predpomnilnik PackageInfo
2 paket(a)
Preberi več
Torej, kot je razvidno, je Google vložil veliko dela v razvoj mehanizma za temiranje in njegovo integracijo v vir AOSP. Videti je, da če bi ga dodali v celotnem sistemu, teme bi bile omogočene v sprejemniku sistemskega uporabniškega vmesnika. Tudi Google ima zagotovil informacije za proizvajalce originalne opreme, zato je možno, da bi dodatni proizvajalci originalne opreme omogočili podporo za temiranje na podlagi različice AOSP v prihodnosti v sistemu Android Oreo.
Na splošno je to zelo razburljiv razvoj. Tematizacija je eden od mnogih delov, ki opredeljujejo Android kot popolnoma prilagodljiv operacijski sistem v vašem telefonu, tudi če trenutno zahteva root za celotne sistemske teme. Če bi v prihodnosti omogočili delovanje brez korenskega dostopa, bi bil to velik korak v smeri svobode uporabnika. Seveda je lahko kar nekaj časa zaklenjen v uglaševalniku sistemskega uporabniškega vmesnika (ker pokvarjene teme lahko pokvarijo aplikacije), vendar omogoča uporabnik, da sploh izkoristi podporo izvorne teme, je velik dodatek k mobilnemu delovanju sistem.