Android O Developer Preview má tajomné nastavenie motívu zobrazenia. XDA dospela k záveru, že tento tematický rámec je založený na RRO spoločnosti Sony.
V prípade, že si ešte nie ste vedomí, Google počas včerajšieho I/O podujatia vydal druhý Android O Developer Preview (Android O DP2). Už sme to urobili sme sa hlboko ponorili do všetkého nového, čo sme doteraz našli, ale na DP2 mi vadila jedna vec. Každý kto dostal beta aktualizáciu alebo manuálne flashoval nové obrázky sa rýchlo stretli s a radikálne odlišné používateľské rozhranie v rýchlych nastaveniach. Prečo sa preboha Google rozhodol zmeniť tému? Po nejakom ďalšom testovaní a skúmaní som dospel k záveru. Z akéhokoľvek dôvodu sa Google rozhodol urobiť to "Obrátená" téma predvolená téma; možno kým bola spoločnosť uprostred testovanie vlastného tematického riešenia založeného na Prekrytie zdrojov runtime od Sony (RRO), nedokázali spustiť predvolenú tému Pixel včas do vydania Android O Beta.
Predvolená systémová téma v Android O Developer Preview 2
Odhalenie, že tematický rámec systému Android O je založený na RRO spoločnosti Sony, sa môže niekomu zdať zrejmé, keďže spoločnosť Google implementovaná podpora pre RRO v systéme Android 6.0 Marshmallow, aj keď to vyžadovalo, aby ste mali zakorenené zariadenie. Keďže však zdrojový kód pre Android O nebol zverejnený, bolo by čistou špekuláciou naznačovať, že táto systémová téma v Android O je v skutočnosti RRO. Preto ten náš počiatočné krytie tohto tajomného prostredia, ako aj pokrytie, ktoré vykonáva iné webové stránky, neurobil toto spojenie. Existuje však niekoľko dôkazov, ktoré spájajú túto funkciu s tematickým rámcom, ktorý by to podľa nás mal presvedčivo preukázať Téma zariadenia Android O je založená na RRO. S podporou RRO na palube to môže byť konečne poskytnúť tematické riešenie pre používateľov bez koreňa, na ktoré sme všetci čakali.
Čo je to Runtime Resource Overlay (RRO)?
RRO je tematický rámec vytvorený vývojármi Sony, ktorý poháňal Témy Xperia od Sony. Krása RRO je v tom, že vám umožňuje nahradiť prostriedky aplikácie bez toho, aby ste museli upravovať zdrojový kód aplikácie. Toto sa deje pomocou prekrytia, ktoré obsahuje vlastné reťazce prostriedkov, ktoré sa používajú na nahradenie prostriedkov prekrytej aplikácie počas načítavania aplikácie.
Pre tých z vás, ktorí vidia „RRO“ a myslia si „Vrstvy“, ste celkom blízko. Layers je mierne upravená verzia RRO od Sony, no na základnej úrovni funguje veľmi podobne. RRO/Layers „inštaluje“ tematické súbory APK do /system/vendor/overlay. Pri zavádzaní správca balíkov prečíta tieto súbory APK, overí ich a potom použije idmap na prepojenie s tabuľkou systémových prostriedkov. Podrobnejšie často kladené otázky si môžete prečítať od SykoPompos, vývojár (teraz zastarané) Správca vrstiev aplikácie.
Snímky obrazovky aplikácie Deprecated Layers Manager App
Odporúčané čítanie: Stručná história motívov: Od motívov OEM po vrstvy RRO
Samozrejme, len málo ľudí z vlastnej komunity ROM pre Android stále používa tematický modul založený na RRO. Väčšina prešla na iný tematický engine ako napr Substrát, čo je evolúcia vrstiev, ktorá je teraz založená na službe Overlay Manager Service (OMS). (CyanogenMod Theme Engine (CMTE) bol však ďalším populárnym tematickým rámcom jeho budúcnosť je stále vo vzduchu.) Avšak aj keď nepoužívate vlastnú ROM s odovzdaním OMS, Aplikácia motora na tému substrátu stále podporuje možnosť používať témy "Substratum Legacy", ktoré sú len témami RRO/Layers. A preto používatelia začali zisťovať, že motívy zariadení Android O a RRO sú jedno a to isté.
Google konečne predstavuje Theming prostredníctvom RRO
Viac na časť komentárov an AndroidPolice článok, XDA uznávaný vývojár Maxr1998 uverejnil snímku obrazovky s tvrdením, že motívy Substratum Legacy sa zobrazujú vo výbere motívov zariadenia Google.
Vľavo môžete vidieť zoznam prekryvných súborov APK nainštalovaných aplikáciou Maxr1998 na Android O Developer Preview 1. Vpravo môžete vidieť dva výbery motívov v Android O Developer Preview 2. Predtým v systéme Android O DP1, dve možnosti boli „Pixel“ a „Inverted“ s „Pixel“ nastaveným ako predvolený, zatiaľ čo „Inverted“ pripomína vzhľad a dojem v odtieňoch šedej, ktorý je predvolený v O DP2.
Ale pozorne sa pozrite na názov predvolenej témy v O DP2. Volá sa "android.auto_generated_rro." Naozaj veľmi zvláštne meno, ale zahrnutie „RRO“ do názvu ma viedlo k prvému presvedčeniu, že ide skutočne o RRO od Sony.
Potom som si myslel, že ak je to skutočne RRO, kde inde by som to mohol potvrdiť? Tieto myšlienky ma viedli ku kontrole /system/vendor/overlay a podľa očakávania sa v ňom skutočne nachádzajú dva súbory APK: framework-res__auto_generated_rro.apk a PixelThemeOverlay.apk.
Obidve sa zhodujú s názvami tém v nastaveniach zobrazenia. Je zaujímavé, že keď v nastaveniach displeja vyberiete tému Pixel, nefunguje to. Nie som odborník na vývoj tém RRO, takže nemôžem povedať, prečo téma Pixel nefunguje, hoci vykonaním odstránenia súboru APK oboch aplikácií je jasné, že ide skutočne o prekrytie aplikácie.
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]
Ak budete lúštiť nad dokumentáciou RRO od Sony, je jasné, že toto má byť téma RRO. V súbore AndroidManifest prekryvný riadok označuje, že toto prekrytie je zacielené na súbor framework-res.apk ("android") a má prioritu "1", čo je najvyššia priorita, ktorú môže dostať.
Na druhej strane, v rámci súboru framework-res__auto_generated_rro.apk je podobne vyzerajúci súbor AndroidManifest.xml, ale je tu veľa ďalších reťazcov, ktoré nesúvisia s tematickým zameraním. To je však ľahko vysvetliteľné skutočnosťou, že táto téma RRO je v podstate odrezanou verziou rámec Google Pixel-res.apk, o ktorom som usúdil, že je pravdivý, pretože \res\values\bools.xml obsahuje riadok
o ktorej viem z príspevku na našom fóre, že ide o riadok, ktorý užívatelia treba nastaviť za účelom povoliť podporu okrúhlych ikon v celom systéme.
Záver
Môjmu testerovi sa zatiaľ nepodarilo dosiahnuť root prístup v O DP2, aby sa pokúsil spustiť tému Substratum Legacy/RRO, ale vzhľadom na moje vlastné zistenia a zistenia Maxr1998 môžem s istotou povedať, že Google sa možno konečne pripravuje na to, aby priniesol tematiku RRO masám.
Samozrejme, neexistuje žiadna záruka, že táto funkcia nebude odstránená v niektorej z neskorších verzií systému Android O. Je možné, že Google usúdi, že RRO nefunguje tak, ako by chceli, a túto funkciu zavrhne. Avšak vzhľadom na rozsiahlu históriu RRO v rukách Sony a našej vlastnej vývojárskej komunity, mnohí z nás už poznajú veľkosť, ktorou je Runtime Resource Overlay od Sony. A keďže už je k dispozícii množstvo tém kompatibilných s RRO, ak sa Google niekedy rozhodne povoliť nám inštaláciu vlastné témy, otvoria brány už aj tak širokému trhu dostupných tém, ktoré si užívatelia môžu užiť.
Poďakovanie za hlavné obrázky: SonyDevWorld