Google může konečně povolit vlastní motivy postavené na RRO Framework společnosti Sony

click fraud protection

Android O Developer Preview má tajemné nastavení motivu zobrazení. XDA dospěla k závěru, že tento tematický rámec je založen na RRO společnosti Sony.

V případě, že si ještě nejste vědomi, Google během včerejší I/O události vydal druhý Android O Developer Preview (Android O DP2). Už jsme to udělali jsme se hluboce ponořili do všeho nového, co jsme dosud našli, ale na DP2 byla jedna věc, která mě štvala. Každý kdo obdržel aktualizaci beta nebo ručně flashoval nové obrázky se rychle setkaly s a radikálně odlišné uživatelské rozhraní v rychlém nastavení. Proč se proboha Google rozhodl změnit téma? Po dalším zkoušení a bádání jsem dospěl k závěru. Z jakéhokoli důvodu se Google rozhodl udělat jeho "Obrácené" téma výchozí téma; možná, když byla společnost uprostřed testování vlastního řešení tématiky založené na Runtime Resource Overlay společnosti Sony (RRO), nebyli schopni zprovoznit výchozí motiv Pixel včas pro vydání Android O Beta.

Výchozí systémový motiv v Android O Developer Preview 2

Odhalení, že tématický rámec Android O je založen na RRO společnosti Sony, se může některým zdát zřejmé vzhledem k tomu, že Google implementována podpora RRO v Androidu 6.0 Marshmallow, i když to vyžadovalo, abyste měli rootované zařízení. Protože však zdrojový kód pro Android O nebyl zveřejněn, bylo by čirou spekulací naznačovat, že toto systémové téma v Androidu O je ve skutečnosti RRO. Proto ten náš počáteční krytí tohoto tajemného prostředí, stejně jako pokrytí jiné webové stránky, toto spojení nenavázalo. Existuje však několik důkazů, které spojují tuto funkci s tématickým rámcem, o kterém se domníváme, že by to měl přesvědčivě ukázat Motiv zařízení Android O je založen na RRO. S podporou RRO na palubě to může být konečně poskytnout tématické řešení pro uživatele bez kořenů, na které jsme všichni čekali.


Co je to Runtime Resource Overlay (RRO)?

RRO je tématický rámec vytvořený vývojáři Sony, který poháněl Témata Xperia od Sony. Krása RRO spočívá v tom, že vám umožňuje nahradit prostředky aplikace, aniž byste museli upravovat zdrojový kód aplikace. To se děje pomocí překrytí, které obsahuje vlastní řetězce prostředků, které se používají k nahrazení prostředků překryté aplikace během načítání aplikace.

Pro ty z vás, kteří vidí „RRO“ a myslí si „Vrstvy“, jste docela blízko. Layers je mírně upravená verze RRO od Sony, ale na základní úrovni funguje velmi podobně. RRO/Layers „nainstaluje“ tematické soubory APK do /system/vendor/overlay. Při bootování správce balíčků čte tyto soubory APK, ověřuje je a poté je používá idmap pro propojení s tabulkou systémových prostředků. Můžete si přečíst podrobnější FAQ od SykoPompos, vývojář (nyní zastaralé) Správce vrstev aplikace.

Snímky obrazovky aplikace Deprecated Layers Manager App


Doporučená četba: Stručná historie motivu: Od motivů OEM k vrstvám RRO


Samozřejmě, jen málo lidí v komunitě vlastní ROM pro Android stále používá tématický engine založený na RRO. Většina přešla na jiný tématický engine jako např Substrát, což je evoluce vrstev, která je nyní založena na službě Overlay Manager Service (OMS). (CyanogenMod Theme Engine (CMTE) byl však další populární tématický rámec jeho budoucnost je stále ve vzduchu.) Nicméně, i když nepoužíváte vlastní ROM s potvrzeními OMS, Aplikace Substratum Theme Engine stále podporuje možnost používat témata "Substratum Legacy", která jsou pouze tématy RRO/Layers. A kvůli tomu uživatelé začali zjišťovat, že témata zařízení Android O a RRO jsou jedno a totéž.


Google konečně představuje Theming prostřednictvím RRO

Přes na sekce komentářů an AndroidPolice článek, XDA uznávaný vývojář Maxr1998 zveřejnil snímek obrazovky s tvrzením, že témata Substratum Legacy se zobrazují ve výběru motivů zařízení Google.

Vlevo můžete vidět seznam překryvných souborů APK nainstalovaných aplikací Maxr1998 na Android O Developer Preview 1. Vpravo můžete vidět dvě možnosti motivu v Android O Developer Preview 2. Dříve v Android O DP1, dvě možnosti byly „Pixel“ a „Inverted“ s „Pixel“ nastaveným jako výchozí, zatímco „Inverted“ připomíná vzhled a dojem ve stupních šedi, který je výchozí v O DP2.

Ale pozorně se podívejte na název výchozího motivu v O DP2. Jmenuje se "android.auto_generated_rro." Opravdu velmi zvláštní jméno, ale zahrnutí „RRO“ do názvu mě vedlo k tomu, že jsem nejprve uvěřil, že se skutečně jedná o RRO společnosti Sony.

Pak jsem si myslel, že pokud je to skutečně RRO, kde jinde bych to mohl potvrdit? Tyto myšlenky mě vedly ke kontrole /system/vendor/overlay a jak se očekávalo, skutečně se v něm nacházejí dva soubory APK: framework-res__auto_generated_rro.apk a PixelThemeOverlay.apk.

Oba se shodují s názvy témat v nastavení zobrazení. Je zajímavé, že když v nastavení zobrazení vyberete téma Pixel, nefunguje to. Nejsem odborník na vývoj témat RRO, takže nemohu říci, proč téma Pixel nefunguje, i když provedením odstranění souboru APK obou aplikací je jasné, že se skutečně jedná o překrytí aplikace.

PixelThemeOverlay.apk APK Teardown

[tabs][tab title ="AndroidManifest.xml"]


package="com.google.android.theme.pixel" platformBuildVersionCode="25" platformBuildVersionName="O">
<overlayandroid: priority="1"android: targetPackage="android"/>
<applicationandroid: hasCode="false"android: label="@string/pixel_overlay_pixel"/>
manifest>

[/tab][tab title ="strings.xml"]


<resources>
<stringname="pixel_overlay_pixel">Pixelstring>
resources>

[/tab][tab title ="colors.xml"]


<resources>
<colorname="user_icon_1">#ff5e97f6color>
<colorname="user_icon_2">#ff5c6bc0color>
<colorname="user_icon_3">#ff26a69acolor>
<colorname="user_icon_4">#ffec407acolor>
<colorname="user_icon_5">#ff33ac71color>
<colorname="user_icon_6">#ff8bc34acolor>
<colorname="user_icon_7">#ffff9800color>
<colorname="user_icon_8">#ffff7043color>
<colorname="system_error">#ffea4335color>
<colorname="primary_device_default_dark">#ff2d2d2dcolor>
<colorname="primary_device_default_settings">#ff2d2d2dcolor>
<colorname="primary_dark_device_default_dark">#ff242424color>
<colorname="primary_dark_device_default_settings">#ff242424color>
<colorname="secondary_device_default_settings">#ff3a3a3acolor>
<colorname="tertiary_device_default_settings">#ff616161color>
<colorname="quaternary_device_default_settings">#ff9e9e9ecolor>
<colorname="accent_device_default_700">#ff3367d6color>
<colorname="accent_device_default_light">#ff4285f4color>
<colorname="accent_device_default_dark">#ff5e97f6color>
<colorname="accent_device_default_50">#ffe8f0fecolor>
resources>

[/tab]

[/tabs]

Pokud přelétáte nad dokumentací RRO od Sony, je jasné, že se má jednat o téma RRO. V souboru AndroidManifest překryvný řádek označuje, že toto překrytí cílí na soubor framework-res.apk ("android") a má prioritu "1", což je nejvyšší priorita, kterou lze přidělit.

Na druhou stranu v rámci souboru framework-res__auto_generated_rro.apk je podobně vypadající soubor AndroidManifest.xml, ale je zde mnoho dalších řetězců, které s tématikou nesouvisejí. To je však snadno vysvětlitelné skutečností, že toto téma RRO je v podstatě oříznutou verzí framework-res.apk Google Pixel, o kterém jsem usoudil, že je pravdivý, protože \res\values\bools.xml má řádek true o kterém vím z příspěvku na našem fóru, že jde o řádek, který uživatelé potřeba nastavit v následujících situacích povolit podporu Round Icon v celém systému.


Závěr

Můj tester dosud nebyl schopen dosáhnout root přístupu v O DP2, aby se pokusil spustit téma Substratum Legacy/RRO, ale vzhledem k mým vlastním zjištěním a zjištěním Maxr1998 lze s jistotou říci, že Google se možná konečně připravuje na to, aby téma RRO přineslo masám.

Samozřejmě neexistuje žádná záruka, že tato funkce nebude odstraněna v některé z pozdějších verzí systému Android O. Je možné, že Google usoudí, že RRO nefunguje tak, jak by chtěli, a funkci zavrhne. Vzhledem k rozsáhlé historii RRO v rukou Sony i naší vlastní vývojářské komunity je však mnoho z nás již obeznámeno s velikostí, kterou je Runtime Resource Overlay od Sony. A protože už je k dispozici spousta motivů kompatibilních s RRO, pokud se Google někdy rozhodne povolit nám instalaci vlastní témata, otevřou stavidla již tak širokému trhu dostupných témat, která si uživatelé mohou užít.


Poděkování za hlavní obrázek: SonyDevWorld