Android Oreo obsahuje podporu rozhraní příkazového řádku pro motivy RRO, což naznačuje, že operační systém se stále více přibližuje podpoře motivů celého systému.
Se spuštěním Androidu Oreo přichází spousta času stráveného hledáním skrytých dobrot ve zdrojovém kódu. V minulosti měl tým inženýrů Androidu mluvil o povolení motivace v Androidu O. Informovali jsme v květnu že druhý Developer Preview Android O mohl být náznakem, že Google podporuje Overlay Manager Service (OMS) a Runtime Resource Overlay (RRO), ale nyní víme jistě, že tomu tak bylo. Android Oreo nyní, technicky, podporuje motivy OMS/RRO a dokonce poskytuje rozhraní pro povolení nebo zakázání motivů, za předpokladu, že můžete žaludek používat příkazový řádek.
Aktualizace: Substratum používá tyto příkazy s dev náhledy a nyní s Oreo od té doby, co byly k dispozici!
Co jsou RRO a OMS?
RRO bylo vyvinuto interně společností Sony pro funkčnost tématu na řadě Sony Xperia. Vývojáři, kteří rozpoznali jeho význam, pracovali na rozšíření jeho podpory na další ROM a s tím přišlo téma RRO na mnoho zařízení – nejen na zařízení Sony. Důmyslně nahradil zdroje za běhu aplikace, což je snadné použití, které nebylo v té době u jiných možností tématiky. To se vyvinulo v OMS, který byl také vyvinut in-house společností Sony. Známý
Správce vrstev původně používal motiv RRO, ale OMS byl později adaptován do toho, co je nyní známé jako Substratum a je to tématický rámec, který nyní uživatelé na našich fórech znají nejvíce. ROM na našich fórech s OMS commity znamenají, že podporují standardní tématický engine Substratum. "Starší režim" v rámci Substratum používá motiv RRO.Android Oreo představuje příkazy motivu
Zdá se, že Google si nyní přeje plně podporovat tento typ motivu v AOSP a možná se přesune k úplnému správci motivů podporovanému systémem. Na Androidu Gerrit provedl Google v posledních měsících (a se systémem Android Oreo) řadu změn, které navrhují kroky k aktivaci tematického enginu v celém systému. Změny jsou uvedeny níže s odkazy na příslušné závazky.
- Překryvné příkazy
- Zavedena služba OverlayManagerService (OMS).
- Nové oprávnění s názvem CHANGE_OVERLAY_PACKAGES
Všechny tyto změny znamenají posun společnosti Google směrem k nějaké formě aplikace pro motivaci systému, která bude zahrnuta v budoucnu. Výše uvedené oprávnění vyžaduje systémová oprávnění, a tedy znamená, že toto oprávnění může vyvolat pouze systémová aplikace (nebo aplikace s přístupem root). Je to nicméně zajímavé, protože to ukazuje, že Google konečně pracuje něco.
Tak proč jen technicky podporuje Android Oreo tématiku? No, jednoduchá odpověď je, že i když můžete vyvolat systémovou metodu instalace motivů, ukázalo se, že je to poněkud zbytečné. Důvodem je to, že i když můžete použít nové rozhraní příkazového řádku ke správě nainstalovaných motivů, ve skutečnosti nemůžete instalujte nové motivy bez přístupu root, protože motivy musí být umístěny do adresáře, který je pro uživatele zakázán prostor. S přístupem root můžete jednoduše povolit téma Substratum, takže to není nutné dělat novým způsobem. Google nezahrnul systémovou aplikaci, která by zařízení motivovala, takže do té doby nemá žádný přínos zkoušet to nově zahrnutým způsobem.
Theming Interface příkazového řádku
V XDA jsme testovali příkaz na Google Pixel se systémem Android Oreo. Rozhodli jsme se některé příkazy otestovat a nejprve použít
cmd overlays list
pro zobrazení všech předinstalovaných překryvů. Všimli jsme si existence souboru „com.google.android.theme.pixel“, který jsme deaktivovali a místo toho povolili „android.auto_generated_rro__“ spuštěním následujících příkazů.
Jak je zde vidět, standardní překrytí je zakázáno a je povoleno automaticky generované. Spuštěním našeho příkazu k opětovnému zobrazení našich nainstalovaných překryvů uvidíme následující výstup.
Výsledkem je nově tematická aplikace nastavení systému Android na našem Google Pixel. Všimněte si, že výše uvedený seznam překryvů také obsahuje motivy nainstalované pomocí Substratum a my jsme je dokázali povolit/zakázat stejně snadno.
Při prokopávání zdroje jsme našli i další příkaz. Příkaz je následující
cmd overlay dump --user 0
nám dává následující výstup.
Výstup
Nastavení
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
}
Výchozí překryvné vrstvy: com.google.android.theme.pixel
Mezipaměť PackageInfo
2 balíčky
Přečtěte si více
Jak je tedy vidět, Google si dal s vývojem motivačního enginu a jeho integrací do zdroje AOSP hodně práce. Vypadá to, že kdyby to mělo být přidáno v celém systému, motivy by byly povoleny v tuneru uživatelského rozhraní systému. Google má také poskytla informace pro OEM, takže je možné, že další výrobci OEM by v budoucnu mohli povolit podporu motivování na základě verze AOSP v systému Android Oreo.
Celkově jde o velmi vzrušující vývoj. Motiv je jednou z mnoha částí, které definují Android jako plně přizpůsobitelný operační systém na vašem telefonu, i když aktuálně vyžaduje root pro celosystémová témata. Pokud by bylo v budoucnu umožněno pracovat bez přístupu root, byl by to velký krok směrem k uživatelské svobodě. Samozřejmě může být na nějakou dobu uzamčen v tuneru uživatelského rozhraní systému (protože nefunkční motivy mohou poškodit aplikace), ale umožňuje Pokud uživatel vůbec využije podporu nativního motivu, je to obrovský doplněk k mobilnímu provozu Systém.