Google-მა შესაძლოა საბოლოოდ ჩართოს Sony-ს RRO Framework-ზე აგებული მორგებული თემები

click fraud protection

Android O Developer Preview-ს აქვს იდუმალი ეკრანის თემის პარამეტრი. XDA-მ დაასკვნა, რომ თემების ეს ჩარჩო დაფუძნებულია Sony-ს RRO-ზე.

თუ თქვენ ჯერ არ იცით, Google-მა გამოუშვა მეორე Android O Developer Preview (Android O DP2) გუშინდელი I/O ღონისძიების დროს. ჩვენ უკვე ღრმად ჩავუღრმავდით ყველაფერს ახალს, რაც აქამდე ვიპოვეთ, მაგრამ იყო ერთი რამ DP2-ის შესახებ, რომელიც მაწუხებდა. ყველას ვინც მიიღო ბეტა განახლება ან ხელით ციმციმა ახალ სურათებს სწრაფად შეხვდა ა რადიკალურად განსხვავებული ინტერფეისი სწრაფ პარამეტრებში. რატომ გადაწყვიტა Google-მა თემის შეცვლა? კიდევ რამდენიმე გამოცდისა და თხრის შემდეგ მივედი დასკვნამდე. ნებისმიერი მიზეზის გამო, Google-მა გადაწყვიტა მისი გაკეთება "შებრუნებული" თემა ნაგულისხმევი თემა; შესაძლოა, სანამ კომპანია შუაში იყო საბაჟო თემის გადაწყვეტის ტესტირებაზე დაფუძნებული Sony-ის Runtime Resource Overlay (RRO), მათ ვერ შეძლეს ნაგულისხმევი Pixel თემის მიღება დროულად Android O ბეტა გამოშვებისთვის.

სისტემის ნაგულისხმევი თემა Android O დეველოპერის გადახედვაში 2

იმის გამოცხადება, რომ Android O-ის თემების ჩარჩო დაფუძნებულია Sony-ს RRO-ზე, შეიძლება ცხადი ჩანდეს ზოგიერთისთვის იმის გათვალისწინებით, რომ Google

დანერგილი მხარდაჭერა RRO-სთვის Android 6.0 Marshmallow-ში, თუმცა საჭირო იყო თქვენ გქონოდათ root მოწყობილობა. თუმცა, ვინაიდან Android O-ს საწყისი კოდი არ გამოქვეყნებულა, სუფთა სპეკულაცია იქნებოდა იმის ვარაუდი, რომ Android O-ში ეს სისტემის თემა სინამდვილეში არის RRO. ამიტომ ჩვენი საწყისი გაშუქება ამ იდუმალი გარემოს, ისევე როგორც მიერ გაკეთებული გაშუქების შესახებ სხვა საიტები, არ დაამყარა ეს კავშირი. მაგრამ არსებობს რამდენიმე მტკიცებულება, რომელიც აკავშირებს ამ მახასიათებელს თემის ჩარჩოსთან, რომელიც, ჩვენი აზრით, საბოლოოდ უნდა აჩვენოს Android O-ის მოწყობილობის თემა დაფუძნებულია RRO-ზე. ბორტზე RRO მხარდაჭერით, ეს შეიძლება საბოლოოდ შემოგთავაზეთ თემის გადაწყვეტა unrooted მომხმარებლებისთვის, რომლებსაც ყველა ველოდით.


რა არის Runtime Resource Overlay (RRO)?

RRO არის თემატური ჩარჩო, შექმნილი სონის დეველოპერების მიერ, რომელიც იკვებება Sony-ს Xperia თემები. RRO-ს სილამაზე ის არის, რომ ის საშუალებას გაძლევთ შეცვალოთ აპლიკაციის რესურსები აპლიკაციის წყაროს კოდის შეცვლის გარეშე. ეს ხდება გადაფარვის გამოყენებით, რომელიც შეიცავს საკუთარ რესურსის სტრიქონებს, რომლებიც გამოიყენება აპლიკაციის ჩატვირთვისას გადაფარული აპლიკაციის რესურსების ჩანაცვლებისთვის.

მათთვის, ვინც ხედავთ "RRO"-ს და ფიქრობთ "Layers", თქვენ საკმაოდ ახლოს ხართ. Layers არის Sony-ს RRO-ის ოდნავ შეცვლილი ვერსია, მაგრამ საბაზისო დონეზე ის ძალიან ანალოგიურად მუშაობს. RRO/Layers "აინსტალირებს" თემის APK-ებს /system/vendor/overlay-ში. ჩატვირთვისას, პაკეტის მენეჯერი კითხულობს ამ APK-ებს, ამოწმებს მათ და შემდეგ იყენებს idmap სისტემის რესურსების ცხრილის დასაკავშირებლად. თქვენ შეგიძლიათ წაიკითხოთ უფრო საფუძვლიანი FAQ სიკოპომპოსი, დეველოპერი (ახლა მოძველებულია) ფენების მენეჯერი აპლიკაცია.

მოძველებული ფენების მენეჯერის აპის ეკრანის ანაბეჭდები


რეკომენდებული საკითხავი: Theming-ის მოკლე ისტორია: OEM თემებიდან RRO ფენებამდე


რა თქმა უნდა, Android-ის საბაჟო ROM-ის საზოგადოებაში რამდენიმე ჯერ კიდევ იყენებს RRO-ზე დაფუძნებულ თემატურ ძრავას. უმეტესობა გადავიდა სხვა თემის ძრავზე, როგორიცაა სუბსტრატი, რომელიც არის Layers-ის ევოლუცია, რომელიც ახლა დაფუძნებულია Overlay Manager Service (OMS) საფუძველზე. (CyanogenMod Theme Engine (CMTE) იყო კიდევ ერთი პოპულარული თემის ჩარჩო მისი მომავალი ჯერ კიდევ ჰაერშია.) თუმცა, მაშინაც კი, თუ თქვენ არ იყენებთ საბაჟო ROM-ს OMS-ის კომპლექტებთან ერთად, სუბსტრატის თემის ძრავის აპლიკაცია კვლავ მხარს უჭერს "Substratum Legacy" თემების გამოყენების შესაძლებლობას, რომლებიც მხოლოდ RRO/Layers თემებია. და ამის გამო, მომხმარებლებმა დაიწყეს იმის გარკვევა, რომ Android O-ს მოწყობილობის თემები და RRO ერთი და იგივეა.


Google საბოლოოდ შემოაქვს Theming Through RRO

ზე მეტი კომენტარების განყოფილება an AndroidPolice სტატია, XDA აღიარებული დეველოპერი Maxr1998 გამოაქვეყნა სკრინშოტი, რომელშიც ნათქვამია, რომ Substratum Legacy თემები გამოჩნდება Google-ის მოწყობილობის თემების ამომრჩეველში.

მარცხნივ შეგიძლიათ იხილოთ Maxr1998-ის მიერ დაინსტალირებული გადაფარვის APK-ების სია Android O Developer Preview 1-ზე. მარჯვნივ, შეგიძლიათ იხილოთ ორი თემის არჩევანი Android O Developer Preview 2-ში. ადრე Android O DP1-ში, ორი ვარიანტი იყო "Pixel" და "Inverted", სადაც "Pixel" დაყენებულია ნაგულისხმევად, ხოლო "Inverted" წააგავს ნაცრისფერი მასშტაბის იერს და შეგრძნებას, რომელიც ნაგულისხმევია O DP2-ში.

მაგრამ ყურადღებით დააკვირდით ნაგულისხმევი თემის სახელს O DP2-ში. მას ჰქვია "android.auto_generated_rro." მართლაც ძალიან უცნაური სახელია, მაგრამ სახელში "RRO"-ს ჩართვამ მიბიძგა, რომ პირველად დავიჯერო, რომ ეს ნამდვილად Sony-ს RRO იყო.

შემდეგ ვიფიქრე, თუ ეს ნამდვილად RROა, სად შეიძლება ვნახო ამის დასადასტურებლად? ამ აზრებმა მიბიძგა გადამემოწმებინა /system/vendor/overlay, და როგორც მოსალოდნელი იყო, ნამდვილად არის ორი APK ფაილი, რომელიც მდებარეობს შიგნით: Framework-res__auto_generated_rro.apk და PixelThemeOverlay.apk.

ორივე მათგანი ემთხვევა თემების სახელებს ეკრანის პარამეტრებში. საინტერესოა, როდესაც ეკრანის პარამეტრებში Pixel-ის თემას ირჩევთ, ის არ მუშაობს. მე არ ვარ RRO თემების შემუშავების ექსპერტი, ამიტომ ვერ ვიტყვი, რატომ არ მუშაობს Pixel-ის თემა, თუმცა ორივე აპლიკაციის APK ამოღების შესრულებით ცხადია, რომ ეს მართლაც გადაფარულია აპლიკაციები.

PixelThemeOverlay.apk APK Teardown

[ჩანართები][ჩანართის სათაური ="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][ჩანართის სათაური = "strings.xml"]


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

[/tab][ჩანართის სათაური ="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]

[/ჩანართები]

თუ გადაიწურავ RRO-ს დოკუმენტაციაზე სონის მიერ მოწოდებული, ნათელია, რომ ეს უნდა იყოს RRO თემა. AndroidManifest ფაილში, გადაფარვის ხაზი მიუთითებს, რომ ეს გადაფარვა მიზნად ისახავს Framework-res.apk ფაილს ("android") და მას აქვს პრიორიტეტი "1", რაც არის ყველაზე მაღალი პრიორიტეტი, რაც შეიძლება მიენიჭოს.

მეორეს მხრივ, Framework-res__auto_generated_rro.apk ფაილში არის AndroidManifest.xml ფაილი, მაგრამ არსებობს უამრავი სხვა სტრიქონი, რომლებიც არ არის დაკავშირებული თემასთან. მაგრამ ეს ადვილად აიხსნება იმით, რომ ეს RRO თემა ძირითადად არის ჩამოშლილი ვერსია Google Pixel-ის Framework-res.apk, რომელიც მე მივხვდი, რომ მართალია, რადგან \res\values\bools.xml აქვს ხაზი true რომელიც მე ვიცი პოსტიდან ჩვენს ფორუმზე, რომ იყოს ხაზი, რომელიც მომხმარებლებს საჭიროა დაყენება იმისათვის, რომ ჩართეთ Round Icon მხარდაჭერის სისტემის მასშტაბით.


დასკვნა

ჩემმა ტესტერმა ჯერ ვერ მიაღწია root წვდომას O DP2-ში, რათა სცადო Substratum Legacy/RRO თემის გაშვება, მაგრამ ჩემი და Maxr1998-ის მიგნებებიდან გამომდინარე, თამამად შეიძლება ითქვას, რომ Google შეიძლება საბოლოოდ ემზადება RRO თემების მასებისთვის მიტანისთვის.

რა თქმა უნდა, არ არსებობს გარანტია, რომ ეს ფუნქცია არ მოიხსნება Android O-ის ერთ-ერთ გვიანდელ ვერსიაში. შესაძლებელია, რომ Google-მა გადაწყვიტოს, რომ RRO არ მუშაობს ისე, როგორც მათ სურთ და გააუქმოს ფუნქცია. თუმცა, RRO-ს ვრცელი ისტორიის გათვალისწინებით, როგორც Sony-ს, ისე ჩვენი განვითარების საზოგადოების ხელში, ბევრი ჩვენგანი უკვე კარგად იცნობს Sony-ს Runtime Resource Overlay-ის სიდიადეს. და რადგან უკვე არსებობს უამრავი RRO-თან თავსებადი თემა, თუ Google ოდესმე გადაწყვეტს მოგვცეს დაყენების უფლება მორგებული თემებით, ისინი გახსნიან ჭიშკარს ხელმისაწვდომი თემების უკვე ფართო ბაზრისკენ, რათა მომხმარებლები ისარგებლონ.


მხატვრული სურათის კრედიტები: SonyDevWorld