Android O izstrādātāja priekšskatījumam ir noslēpumains displeja motīva iestatījums. XDA ir secinājusi, ka šī motīvu sistēma ir balstīta uz Sony RRO.
Ja vēl nezināt, Google ir izlaidusi otro Android O izstrādātāja priekšskatījumu (Android O DP2) vakardienas I/O pasākuma laikā. Mēs jau esam padziļināti iedziļināties visā jaunajā, ko līdz šim esam atraduši, bet DP2 bija viena lieta, kas mani traucēja. Ikviens, kurš saņēma beta atjauninājumu vai manuāli mirgoja jaunos attēlus ātri satika a radikāli atšķirīga lietotāja saskarne ātrajos iestatījumos. Kāpēc pasaulē Google nolēma mainīt tēmu? Pēc vēl dažām pārbaudēm un rakšanas esmu nonācis pie secinājuma. Kādu iemeslu dēļ Google ir nolēmis to izveidot "Apgrieztā" tēma noklusējuma motīvs; iespējams, kamēr uzņēmums bija vidū pielāgota motīvu risinājuma testēšana, pamatojoties uz Sony izpildlaika resursu pārklājums (RRO), viņi nevarēja panākt, lai noklusējuma Pixel motīvs darbotos savlaicīgi Android O beta versijai.
Noklusējuma sistēmas motīvs Android O izstrādātāja priekšskatījumā 2
Atklāsme, ka Android O motīvu sistēma ir balstīta uz Sony RRO, dažiem var šķist acīmredzama, ņemot vērā to, ka Google ieviests atbalsts RRO operētājsistēmā Android 6.0 Marshmallow, lai gan tas prasīja, lai jums būtu iesakņojusies ierīce. Tomēr, tā kā Android O avota kods nav izlaists, būtu bijis tikai spekulācijas likt domāt, ka šī Android O sistēmas tēma patiesībā ir RRO. Tāpēc mūsu sākotnējais pārklājums par šo noslēpumaino vidi, kā arī atspoguļojumu, ko veica citas tīmekļa vietnes, neveica šo savienojumu. Taču ir vairāki pierādījumi, kas saista šo funkciju ar tematisko sistēmu, kam, mūsuprāt, tas būtu pārliecinoši jāpierāda Android O ierīces motīva pamatā ir RRO. Ar RRO atbalstu tas var beidzot nodrošināt tēmu risinājumu lietotājiem bez saknēm, ko mēs visi esam gaidījuši.
Kas ir izpildlaika resursu pārklājums (RRO)?
RRO ir Sony izstrādātāju izveidots motīvu ietvars, kas darbojas Sony Xperia motīvi. RRO skaistums ir tāds, ka tas ļauj nomainīt lietojumprogrammas resursus, nemainot lietojumprogrammas pirmkodu. Tas notiek, izmantojot pārklājumu, kurā ir savas resursu virknes, kuras tiek izmantotas, lai aizstātu pārklājošās lietojumprogrammas resursus, kamēr lietojumprogramma tiek ielādēta.
Tiem no jums, kas redz "RRO" un domā "Slāņi", jūs esat diezgan tuvu. Layers ir nedaudz pārveidota Sony RRO versija, taču bāzes līmenī tā darbojas ļoti līdzīgi. RRO/Layers "instalē" motīvu APK mapē /system/vendor/overlay. Sāknēšanas laikā pakotņu pārvaldnieks nolasa šos APK, pārbauda tos un pēc tam izmanto idmap lai saistītu to ar sistēmas resursu tabulu. Jūs varat izlasīt rūpīgāku FAQ no SykoPompos, izstrādātājs (tagad novecojis) Slāņu pārvaldnieks lietotne.
Novecojušo slāņu pārvaldnieka lietotnes ekrānuzņēmumi
Ieteicamā literatūra: Īsa tēmu veidošanas vēsture: no OEM tēmām līdz RRO slāņiem
Protams, daži Android pielāgotās ROM kopienā joprojām izmanto motīvu dzinēju, kura pamatā ir RRO. Lielākā daļa ir pārgājuši uz citu tēmu veidošanas dzinēju, piemēram, Substrāts, kas ir slāņu evolūcija, kuras pamatā tagad ir Overlay Manager Service (OMS). (Tomēr CyanogenMod Theme Engine (CMTE) bija vēl viena populāra tēmu veidošanas sistēma tā nākotne joprojām ir gaisā.) Tomēr pat tad, ja neizmantojat pielāgotu ROM ar OMS saistībām, Substrāta tēmas dzinēja lietotne joprojām atbalsta iespēju izmantot "Substratum Legacy" motīvus, kas ir tikai RRO/Layers motīvi. Un tāpēc lietotāji sāka saprast, ka Android O ierīču motīvi un RRO ir viens un tas pats.
Google beidzot ievieš tēmu veidošanu, izmantojot RRO
Pāri uz komentāru sadaļa an AndroidPolice raksts, XDA atzītais izstrādātājs Maxr1998 ievietoja ekrānuzņēmumu, apgalvojot, ka Substratum Legacy motīvi tiek parādīti Google ierīces motīvu atlasītājā.
Kreisajā pusē varat skatīt pārklājuma APK failu sarakstu, ko instalējis Maxr1998 operētājsistēmā Android O Developer Preview 1. Labajā pusē varat redzēt divas motīvu izvēles Android O izstrādātāja priekšskatījumā 2. Iepriekš operētājsistēmā Android O DP1, abas opcijas bija "Pixel" un "Inverted" ar "Pixel" iestatītu kā noklusējuma, bet "Inverted" atgādina pelēko toņu izskatu un darbību, kas ir noklusējuma O DP2.
Taču uzmanīgi apskatiet O DP2 noklusējuma motīva nosaukumu. To sauc par "android.auto_generated_rro". Patiešām ļoti dīvains nosaukums, taču vārda "RRO" iekļaušana nosaukumā ir tas, kas lika man vispirms domāt, ka tas patiešām ir Sony RRO.
Pēc tam es domāju, ja tas patiešām ir RRO, kur vēl es varu meklēt, lai to apstiprinātu? Šīs domas lika man pārbaudīt /system/vendor/overlay, un, kā gaidīts, tajā patiešām atrodas divi APK faili: framework-res__auto_generated_rro.apk un PixelThemeOverlay.apk.
Abi šie sakrīt ar motīvu nosaukumiem displeja iestatījumos. Interesanti, ka displeja iestatījumos atlasot Pixel motīvu, tas nedarbojas. Es neesmu eksperts RRO tēmu izstrādē, tāpēc nevaru pateikt, kāpēc Pixel tēma nedarbojas, lai gan, veicot abu lietojumprogrammu APK nojaukšanu, ir skaidrs, ka tās patiešām ir pārklājums lietotnes.
PixelThemeOverlay.apk APK nojaukšana
[cilnes][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]
Ja nosmeļat pār RRO dokumentāciju ko nodrošina Sony, ir skaidrs, ka tai ir jābūt RRO tēmai. AndroidManifest failā pārklājuma līnija norāda, ka šī pārklājuma mērķauditorija ir fails framework-res.apk ("android"), un tā prioritāte ir "1", kas ir augstākā prioritāte, ko tam var piešķirt.
No otras puses, failā framework-res__auto_generated_rro.apk ir līdzīga izskata fails AndroidManifest.xml, taču ir daudz citu virkņu, kas nav saistītas ar tematiku. Bet tas ir viegli izskaidrojams ar to, ka šī RRO tēma būtībā ir attīrīta versija Google Pixel framework-res.apk, kas, manuprāt, ir patiesība, jo \res\values\bools.xml ir rinda
ko es zinu no ziņas mūsu forumā, ir līnija, ka lietotāji nepieciešams iestatīt lai iespējot Round Icon atbalstu visā sistēmā.
Secinājums
Mans testētājs vēl nav spējis iegūt saknes piekļuvi O DP2, lai mēģinātu palaist Substratum Legacy/RRO motīvu, taču, ņemot vērā manus un Maxr1998 atklājumus, var droši teikt, ka. Google, iespējams, beidzot gatavojas piedāvāt RRO tēmu masām.
Protams, nav garantijas, ka šī funkcija netiks noņemta kādā no jaunākajām Android O versijām. Iespējams, Google nolemj, ka RRO nedarbojas tā, kā viņi vēlas, un atsakās no šīs funkcijas. Tomēr, ņemot vērā RRO plašo vēsturi gan Sony, gan mūsu pašu izstrādātāju kopienas rokās, daudzi no mums jau ir iepazinušies ar Sony Runtime Resource Overlay izcilību. Un tā kā jau ir pieejams ļoti daudz ar RRO saderīgu motīvu, ja Google kādreiz nolems ļaut mums instalēt pielāgotas tēmas, tās pavērs slūžas jau tā plašam pieejamo motīvu tirgum, ko lietotāji var baudīt.
Funkciju attēlu kredīti: SonyDevWorld