Android Oreo obsahuje podporu rozhrania príkazového riadka pre témy RRO, čo naznačuje, že operačný systém sa stále viac približuje k podpore tém celého systému.
So spustením Android Oreo prichádza veľa času stráveného hľadaním skrytých vychytávok v zdrojovom kóde. V minulosti mal tím inžinierov pre Android hovoril o povolení motívov v systéme Android O. Informovali sme o tom v máji že druhá ukážka vývojára Androidu O mohla byť náznakom toho, že Google podporuje službu Overlay Manager Service (OMS) a Runtime Resource Overlay (RRO), ale teraz už s istotou vieme, že to tak bolo. Android Oreo teraz, technicky, podporuje tému OMS/RRO a dokonca poskytuje rozhranie na povoľovanie alebo zakázanie tém, za predpokladu, že môžete čítať pomocou príkazového riadku.
Aktualizácia: Substratum používa tieto príkazy s ukážkami pre vývojárov a teraz s Oreo odkedy boli k dispozícii!
Čo sú RRO a OMS?
RRO bol vyvinutý interne spoločnosťou Sony pre funkčnosť tém v rade Sony Xperia. Vývojári, ktorí uznali jeho význam, pracovali na rozšírení jeho podpory na ďalšie ROM a s tým prišla tématika RRO pre množstvo zariadení – nielen zariadenia Sony. Dômyselne nahradil zdroje pri behu aplikácie, čo je v tom čase jednoduchosť použitia nevídaná u iných možností tematického zamerania. To sa vyvinulo do OMS, ktorý bol tiež vyvinutý interne spoločnosťou Sony. Slávny
Správca vrstiev pôvodne používal RRO theming, ale OMS bol neskôr adaptovaný na to, čo je teraz známe ako Substratum a je to tématický rámec, ktorý je teraz používateľom na našich fórach najznámejší. ROM na našich fórach so záväzkami OMS znamenajú, že podporujú štandardný tematický engine Substratum. „Starší režim“ v rámci Substratum používa tému RRO.Android Oreo predstavuje príkazy témy
Zdá sa, že Google si teraz želá plne podporovať tento typ témy v AOSP a možno sa pohne smerom k úplnému správcovi tém podporovanému systémom. V systéme Android Gerrit spoločnosť Google v posledných mesiacoch (a so systémom Android Oreo) urobila niekoľko zmien, ktoré navrhujú kroky na aktiváciu tematického enginu v celom systéme. Zmeny sú uvedené nižšie s odkazmi na ich príslušné záväzky.
- Príkazy prekrytia
- Bola predstavená služba OverlayManagerService (OMS).
- Nové povolenie s názvom CHANGE_OVERLAY_PACKAGES
Všetky tieto zmeny znamenajú posun zo strany spoločnosti Google smerom k nejakej forme aplikácie tematickej schémy, ktorá bude zahrnutá v budúcnosti. Vyššie uvedené oprávnenie vyžaduje systémové oprávnenia, a teda znamená, že toto oprávnenie môže vyvolať iba systémová aplikácia (alebo aplikácia s prístupom root). Je to však zaujímavé, pretože to ukazuje, že Google konečne pracuje niečo.
Tak prečo len technicky podporuje Android Oreo tému? Jednoduchá odpoveď je, že aj keď môžete použiť systémovú metódu inštalácie tém, ukázalo by sa, že je to dosť zbytočné. Je to preto, že aj keď môžete použiť nové rozhranie príkazového riadka na správu nainštalovaných tém, v skutočnosti nemôžete inštalovať nové témy bez prístupu root, pretože témy musia ísť do adresára, ktorý je pre používateľa zakázaný priestor. S prístupom root môžete aj tak jednoducho povoliť tému Substratum, takže to nie je potrebné robiť novým spôsobom. Spoločnosť Google nezahrnula systémovú aplikáciu na tému zariadenia, takže dovtedy nemá žiadnu výhodu pokúšať sa to urobiť novým spôsobom.
Rozhranie motívov príkazového riadku
My sme v XDA testovali príkaz na Google Pixel so systémom Android Oreo. Rozhodli sme sa otestovať niektoré príkazy a najprv ich použiť
cmd overlays list
zobrazíte všetky predinštalované prekrytia. Všimli sme si existenciu súboru „com.google.android.theme.pixel“, ktorý sme zakázali a namiesto toho povolili „android.auto_generated_rro__“ spustením nasledujúcich príkazov.
Ako je tu vidieť, štandardné prekrytie je vypnuté a automaticky generované je povolené. Spustením nášho príkazu na opätovné zobrazenie našich nainštalovaných prekrytí uvidíme nasledujúci výstup.
Výsledkom je nová tematická aplikácia nastavení systému Android na našom Google Pixel. Všimnite si, že vyššie uvedený zoznam prekryvných vrstiev obsahuje aj témy nainštalované pomocou Substratum a my sme ich dokázali povoliť/zakázať rovnako jednoducho.
Ďalší príkaz sme našli aj pri prekopávaní zdroja. Príkaz je nasledovný
cmd overlay dump --user 0
nám dáva nasledujúci výstup.
Výkon
nastavenie
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...: pravda
mIsStatic...: pravda
}
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...: nepravda
mIsStatic...: nepravda
}
Predvolené prekrytia: com.google.android.theme.pixel
Vyrovnávacia pamäť PackageInfo
2 balíky
čítaj viac
Ako teda vidno, Google si dal veľa práce s vývojom tematického enginu a jeho integráciou do zdroja AOSP. Vyzerá to tak, že ak by sa to malo pridať v celom systéme, témy by boli povolené v rámci tunera používateľského rozhrania systému. Google má tiež poskytli informácie pre OEM, takže je možné, že ďalší výrobcovia OEM by mohli v budúcnosti v systéme Android Oreo povoliť podporu tém na základe verzie AOSP.
Celkovo je to veľmi vzrušujúci vývoj. Motív je jednou z mnohých častí, ktoré definujú Android ako plne prispôsobiteľný operačný systém na vašom telefóne, aj keď v súčasnosti vyžaduje root pre celosystémové témy. Ak by bolo v budúcnosti povolené pracovať bez prístupu root, bol by to veľký krok smerom k slobode používateľov. Samozrejme, môže to byť nejaký čas uzamknuté v tuneri používateľského rozhrania systému (pretože poškodené témy môžu poškodiť aplikácie), ale umožňuje Ak používateľ vôbec využije podporu natívnej témy, je to obrovský doplnok k mobilnej prevádzke systém.