Google bo morda končno omogočil teme po meri, zgrajene na Sonyjevem ogrodju RRO

Android O Developer Preview ima skrivnostno nastavitev teme zaslona. XDA je ugotovil, da ta tematski okvir temelji na Sonyjevem RRO.

Če še niste seznanjeni, je Google med včerajšnjim I/O dogodkom izdal drugi Android O Developer Preview (Android O DP2). Smo že smo se globoko potopili v vse novo, kar smo do zdaj našli, a pri DP2 me je motila ena stvar. Vsi, ki prejeli posodobitev beta ali ročno utripali nove slike so se hitro srečale z a radikalno drugačen uporabniški vmesnik v hitrih nastavitvah. Zakaj se je Google odločil spremeniti temo? Po dodatnem testiranju in kopanju sem prišel do zaključka. Iz kakršnega koli razloga se je Google odločil, da bo naredil svoje "Obrnjena" tema privzeta tema; morda medtem ko je bilo podjetje sredi testiranje prilagojene tematske rešitve, ki temelji na Sonyjev Runtime Resource Overlay (RRO), jim ni uspelo vzpostaviti delovanja privzete teme Pixel pravočasno za izdajo Android O Beta.

Privzeta sistemska tema v Android O Developer Preview 2

Razkritje, da tematski okvir Android O temelji na Sonyjevem RRO, se nekaterim morda zdi očitno glede na to, da Google

implementirana podpora za RRO v sistemu Android 6.0 Marshmallow, čeprav je zahtevala, da imate zakoreninjeno napravo. Ker pa izvorna koda za Android O še ni bila izdana, bi bila čista špekulacija, če bi namigovali, da je ta sistemska tema v Androidu O v resnici RRO. Zato naš začetno kritje tega skrivnostnega okolja, pa tudi o poročanju druge spletne strani, ni vzpostavil te povezave. Obstaja pa več dokazov, ki povezujejo to funkcijo s tematskim okvirom, za katerega menimo, da bi to moralo dokončno pokazati Tema naprave Android O temelji na RRO. S podporo RRO na krovu je to lahko končno ponuditi rešitev tem za neukoreninjene uporabnike, ki smo jo vsi čakali.


Kaj je Runtime Resource Overlay (RRO)?

RRO je tematski okvir, ki so ga ustvarili Sonyjevi razvijalci, ki poganja Sonyjeve teme Xperia. Lepota RRO je v tem, da vam omogoča zamenjavo virov aplikacije, ne da bi morali spremeniti izvorno kodo aplikacije. To se zgodi z uporabo prekrivanja, ki vsebuje lastne nize virov, ki se uporabljajo za zamenjavo virov prekrite aplikacije, medtem ko se aplikacija nalaga.

Za tiste, ki vidite "RRO" in pomislite na "Plasti", ste zelo blizu. Layers je nekoliko spremenjena različica Sonyjevega RRO, vendar na osnovni ravni deluje zelo podobno. RRO/Layers "namesti" tematske APK-je v /system/vendor/overlay. Ob zagonu upravitelj paketov prebere te APK-je, jih preveri in nato uporabi idmap da ga povežete v tabelo sistemskih virov. Podrobnejša pogosta vprašanja si lahko preberete pri SykoPompos, razvijalec (zdaj zastarel) Upravitelj plasti aplikacija

Posnetki zaslona zastarele aplikacije Layers Manager


Priporočeno branje: Kratka zgodovina temiranja: od tem OEM do slojev RRO


Seveda le redki v skupnosti ROM-ov po meri Android še vedno uporabljajo tematski mehanizem, ki temelji na RRO. Večina jih je prešla na drug tematski mehanizem, kot je npr Substrat, ki je razvoj plasti, ki zdaj temelji na storitvi Overlay Manager Service (OMS). (CyanogenMod Theme Engine (CMTE) je bil še en priljubljen tematski okvir njegova prihodnost je še vedno v zraku.) Vendar, tudi če ne uporabljate ROM-a po meri s povezavami OMS, bo Aplikacija Substratum Theme Engine še vedno podpira možnost uporabe tem "Substratum Legacy", ki so samo teme RRO/plasti. In zaradi tega so uporabniki začeli ugotavljati, da so teme naprave Android O in RRO eno in isto.


Google končno uvede tematiziranje prek RRO

Čez na razdelek za komentarje an AndroidPolice Članek, XDA priznani razvijalec Maxr1998 je objavil posnetek zaslona, ​​v katerem trdi, da se teme Substratum Legacy prikažejo v Googlovem izbirniku tem naprave.

Na levi strani si lahko ogledate seznam prekrivnih APK-jev, ki jih je Maxr1998 namestil v Android O Developer Preview 1. Na desni strani si lahko ogledate dve izbiri tem v Android O Developer Preview 2. Prej v sistemu Android O DP1, dve možnosti sta bili »Pixel« in »Inverted«, pri čemer je »Pixel« nastavljen kot privzeti, medtem ko je »Inverted« podoben videzu in občutku sivine, ki je privzet v O DP2.

Toda natančno si oglejte ime privzete teme v O DP2. Imenuje se "android.auto_generated_rro." Resnično zelo nenavadno ime, vendar je vključitev "RRO" v ime tisto, zaradi česar sem najprej verjel, da je to res Sonyjev RRO.

Nato sem pomislil, če je to res RRO, kje drugje lahko to potrdim? Te misli so me pripeljale do tega, da sem preveril /system/vendor/overlay in kot je bilo pričakovano, sta znotraj res dve datoteki APK: framework-res__auto_generated_rro.apk in PixelThemeOverlay.apk.

Oboje se ujema z imeni tem v nastavitvah zaslona. Nenavadno je, da ko v nastavitvah zaslona izberete temo Pixel, ta ne deluje. Nisem strokovnjak za razvoj tem RRO, zato ne morem reči, zakaj tema Pixel ne deluje, čeprav je z izvedbo razgradnje APK-ja obeh aplikacij jasno, da sta res prekrivni aplikacije.

PixelThemeOverlay.apk APK Teardown

[zavihki][naslov zavihka ="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][naslov zavihka ="strings.xml"]


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

[/tab][naslov zavihka ="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]

Če posnamete nad dokumentacijo RRO zagotovil Sony, je jasno, da naj bi bila to tema RRO. V datoteki AndroidManifest prekrivna vrstica označuje, da ta prekrivni element cilja na datoteko framework-res.apk (»android«) in ima prednost »1«, kar je najvišja prednost, ki jo lahko dodelite.

Po drugi strani je v datoteki framework-res__auto_generated_rro.apk podobna datoteka AndroidManifest.xml, vendar je prisotnih veliko drugih nizov, ki niso povezani s temami. Toda to je enostavno razložiti z dejstvom, da je ta tema RRO v bistvu skrajšana različica Framework-res.apk Google Pixela, za katerega sem mislil, da je resničen, saj ima \res\values\bools.xml vrstico true za katero iz objave na našem forumu vem, da je vrstica, ki jo uporabniki je treba nastaviti Da bi omogoči podporo za okrogle ikone v celotnem sistemu.


Zaključek

Mojemu preizkuševalcu še ni uspelo pridobiti korenskega dostopa v O DP2, da bi poskusil zagnati temo Substratum Legacy/RRO, vendar glede na moje lastne ugotovitve in ugotovitve Maxr1998 lahko varno rečem, da Google se morda končno pripravlja, da bo tematiko RRO predstavil množicam.

Seveda ni nobenega zagotovila, da ta funkcija ne bo odstranjena v eni od poznejših različic Android O. Možno je, da se Google odloči, da RRO ne deluje tako, kot bi želeli, in opusti funkcijo. Glede na obsežno zgodovino RRO, tako v rokah Sonyja kot naše razvojne skupnosti, mnogi od nas že poznajo veličino, ki jo predstavlja Sonyjev Runtime Resource Overlay. In ker je na voljo že ogromno tem, združljivih z RRO, če se Google kdaj odloči, da nam dovoli namestitev teme po meri, bodo odprle vrata že tako širokemu trgu razpoložljivih tem, v katerih lahko uživajo uporabniki.


Zasluge za slikovne značilnosti: SonyDevWorld