Google अंततः सोनी के RRO फ्रेमवर्क पर निर्मित कस्टम थीम्स को सक्षम कर सकता है

Android O डेवलपर पूर्वावलोकन में एक रहस्यमय डिस्प्ले थीम सेटिंग है। XDA ने निष्कर्ष निकाला है कि यह थीम फ्रेमवर्क सोनी के RRO पर आधारित है।

यदि आप पहले से नहीं जानते हैं, तो Google ने कल के I/O इवेंट के दौरान दूसरा Android O डेवलपर पूर्वावलोकन (Android O DP2) जारी किया है। हम पहले ही कर चुके हैं हमने अब तक जो कुछ भी नया पाया है, उस पर गहराई से विचार किया है, लेकिन DP2 के बारे में एक बात थी जो मुझे परेशान कर रही थी। हर कोई जो बीटा अपडेट प्राप्त हुआ या मैन्युअल रूप से फ्लैश किया गया नई छवियां शीघ्र ही मिल गईं मौलिक रूप से भिन्न यूआई त्वरित सेटिंग्स में. आख़िरकार Google ने थीम बदलने का निर्णय क्यों लिया? कुछ और परीक्षण और खोजबीन के बाद, मैं एक निष्कर्ष पर पहुंचा हूं। किसी भी कारण से, Google ने इसे बनाने का निर्णय लिया है "उलटा" विषय डिफ़ॉल्ट थीम; शायद जब कंपनी बीच में थी के आधार पर एक कस्टम थीम समाधान का परीक्षण सोनी का रनटाइम रिसोर्स ओवरले (आरआरओ), वे एंड्रॉइड ओ बीटा रिलीज के लिए समय पर काम करने वाली डिफ़ॉल्ट पिक्सेल थीम प्राप्त करने में सक्षम नहीं थे।

Android O डेवलपर पूर्वावलोकन 2 में डिफ़ॉल्ट सिस्टम थीम

यह रहस्योद्घाटन कि एंड्रॉइड ओ का थीम ढांचा सोनी के आरआरओ पर आधारित है, Google को देखते हुए कुछ लोगों को स्पष्ट लग सकता है एंड्रॉइड 6.0 मार्शमैलो में आरआरओ के लिए समर्थन लागू किया गया, हालाँकि इसके लिए आपके पास एक रूटेड डिवाइस होना आवश्यक है। हालाँकि, चूँकि Android O के लिए स्रोत कोड जारी नहीं किया गया है, इसलिए यह सुझाव देना शुद्ध अटकलें होगी कि Android O में यह सिस्टम थीम वास्तव में RRO है। इसीलिए हमारा प्रारंभिक कवरेज इस रहस्यमयी सेटिंग के साथ-साथ इसके द्वारा की गई कवरेज भी अन्य वेबसाइटें, यह संबंध नहीं बनाया। लेकिन ऐसे कई सबूत हैं जो इस सुविधा को थीम ढांचे से जोड़ते हैं और हमारा मानना ​​है कि इसे निर्णायक रूप से दिखाना चाहिए Android O की डिवाइस थीम RRO पर आधारित है. बोर्ड पर आरआरओ समर्थन के साथ, यह हो सकता है अंतत: अनरूटेड उपयोगकर्ताओं के लिए थीम समाधान प्रदान करें जिसका हम सभी इंतजार कर रहे थे.


रनटाइम रिसोर्स ओवरले (आरआरओ) क्या है?

आरआरओ सोनी के डेवलपर्स द्वारा बनाया गया एक थीम फ्रेमवर्क है जो संचालित होता है सोनी की एक्सपीरिया थीम्स. आरआरओ की खूबी यह है कि यह आपको एप्लिकेशन के स्रोत कोड को संशोधित किए बिना एप्लिकेशन संसाधनों को बदलने की अनुमति देता है। यह एक ओवरले के उपयोग के माध्यम से होता है, जिसमें अपने स्वयं के संसाधन स्ट्रिंग होते हैं जिनका उपयोग एप्लिकेशन लोड होने के दौरान ओवरलेड एप्लिकेशन के संसाधनों को बदलने के लिए किया जाता है।

आपमें से जो लोग "आरआरओ" देखते हैं और "लेयर्स" के बारे में सोचते हैं, आप काफी करीब हैं। लेयर्स सोनी के आरआरओ का थोड़ा संशोधित संस्करण है, लेकिन आधार स्तर पर यह बहुत समान रूप से काम करता है। आरआरओ/लेयर्स थीम एपीके को /सिस्टम/विक्रेता/ओवरले पर "इंस्टॉल" करता है। बूट पर, पैकेज मैनेजर इन एपीके को पढ़ता है, उन्हें सत्यापित करता है, फिर उपयोग करता है idmap इसे सिस्टम संसाधन तालिका में लिंक करने के लिए। आप इसके द्वारा अधिक गहन FAQ पढ़ सकते हैं SykoPompos(अब अप्रचलित) का डेवलपर परतें प्रबंधक अनुप्रयोग।

अप्रचलित परतें प्रबंधक ऐप के स्क्रीनशॉट


अनुशंसित पाठ: थीमिंग का संक्षिप्त इतिहास: ओईएम थीम्स से लेकर आरआरओ लेयर्स तक


बेशक, एंड्रॉइड कस्टम ROM समुदाय में कुछ लोग अभी भी RRO पर आधारित थीम इंजन का उपयोग कर रहे हैं। अधिकांश अन्य थीम वाले इंजन जैसे की ओर चले गए हैं बुनियाद, जो अब ओवरले मैनेजर सर्विस (ओएमएस) पर आधारित लेयर्स का एक विकास है। (हालांकि साइनोजनमोड थीम इंजन (सीएमटीई) एक और लोकप्रिय थीम फ्रेमवर्क था इसका भविष्य अभी भी अधर में है.) हालाँकि, भले ही आप OMS कमिट के साथ कस्टम ROM का उपयोग नहीं कर रहे हों सबस्ट्रैटम थीम इंजन ऐप अभी भी "सब्स्ट्रैटम लिगेसी" थीम का उपयोग करने की क्षमता का समर्थन करता है जो कि केवल आरआरओ/लेयर्स थीम हैं। और इस वजह से, उपयोगकर्ताओं को यह पता चलने लगा कि Android O की डिवाइस थीम और RRO एक ही हैं।


Google ने अंततः RRO के माध्यम से थीमिंग प्रस्तुत की

पर एक का टिप्पणियाँ अनुभाग एंड्रॉइडपुलिस लेख, XDA मान्यता प्राप्त डेवलपर मैक्सआर1998 एक स्क्रीनशॉट पोस्ट किया गया जिसमें दावा किया गया कि सबस्ट्रैटम लिगेसी थीम Google के डिवाइस थीम चयनकर्ता में दिखाई देती हैं।

बाईं ओर, आप Android O डेवलपर पूर्वावलोकन 1 पर Maxr1998 द्वारा इंस्टॉल किए गए ओवरले APK की एक सूची देख सकते हैं। दाईं ओर, आप Android O डेवलपर पूर्वावलोकन 2 में दो थीम विकल्प देख सकते हैं। पहले Android O DP1 में, दो विकल्प "पिक्सेल" और "इनवर्टेड" थे, जिसमें "पिक्सेल" को डिफ़ॉल्ट के रूप में सेट किया गया था, जबकि "इनवर्टेड" ग्रे स्केल लुक और फील जैसा दिखता है, जो ओ डीपी 2 में डिफ़ॉल्ट है।

लेकिन O DP2 में डिफ़ॉल्ट थीम के नाम पर ध्यानपूर्वक नज़र डालें। इसे "android.auto_generated_rro" कहा जाता है। वास्तव में एक बहुत ही अजीब नाम है, लेकिन नाम में "आरआरओ" शामिल होने से मुझे पहले विश्वास हुआ कि यह वास्तव में सोनी का आरआरओ है।

फिर मैंने सोचा, यदि यह वास्तव में आरआरओ है, तो मैं इसकी पुष्टि के लिए और कहां देख सकता हूं? उन विचारों ने मुझे /system/vendor/overlay की जांच करने के लिए प्रेरित किया, और जैसा कि अपेक्षित था, वास्तव में दो एपीके फ़ाइलें स्थित हैं: फ्रेमवर्क-res__auto_generated_rro.apk और PixelThemeOverlay.apk।

ये दोनों डिस्प्ले सेटिंग्स में थीम के नाम से मेल खाते हैं। दिलचस्प बात यह है कि जब आप डिस्प्ले सेटिंग्स में पिक्सेल थीम का चयन करते हैं, तो यह काम नहीं करता है। मैं आरआरओ थीम विकसित करने में विशेषज्ञ नहीं हूं, इसलिए मैं यह नहीं कह सकता कि पिक्सेल थीम काम क्यों नहीं कर रही है, हालाँकि दोनों अनुप्रयोगों का एपीके फाड़ने से यह स्पष्ट है कि ये वास्तव में ओवरले हैं क्षुधा.

PixelThemeOverlay.apk एपीके टियरडाउन

[टैब][टैब शीर्षक = "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>

[/टैब][टैब शीर्षक = "स्ट्रिंग्स.एक्सएमएल"]


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

[/टैब][टैब शीर्षक = "रंग.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>

[/टैब]

[/टैब]

यदि आप स्किम करते हैं आरआरओ के दस्तावेज़ीकरण पर सोनी द्वारा प्रदान किया गया, यह स्पष्ट है कि यह एक आरआरओ थीम माना जाता है। AndroidManifest फ़ाइल में, ओवरले लाइन इंगित करती है कि यह ओवरले फ्रेमवर्क-res.apk फ़ाइल ("एंड्रॉइड") को लक्षित करता है और इसकी प्राथमिकता "1" है जो इसे दी जा सकने वाली सर्वोच्च प्राथमिकता है।

दूसरी ओर, फ्रेमवर्क-res__auto_generated_rro.apk फ़ाइल के भीतर एक समान दिखने वाली AndroidManifest.xml फ़ाइल है, लेकिन कई अन्य स्ट्रिंग मौजूद हैं जो थीमिंग से असंबंधित हैं। लेकिन इसे इस तथ्य से आसानी से समझाया जा सकता है कि यह आरआरओ थीम मूल रूप से इसका एक अलग संस्करण है Google Pixel काframework-res.apk, जो मुझे लगा कि सत्य है क्योंकि \res\values\bools.xml में लाइन है true जो मुझे हमारे मंच पर एक पोस्ट से पता चला कि यह उपयोगकर्ताओं की एक पंक्ति है सेट करने की आवश्यकता है के लिए पूरे सिस्टम में राउंड आइकन समर्थन सक्षम करें.


निष्कर्ष

सबस्ट्रैटम लिगेसी/आरआरओ थीम को चलाने का प्रयास करने के लिए मेरा परीक्षक अभी तक O DP2 में रूट एक्सेस प्राप्त करने में सक्षम नहीं हुआ है, लेकिन मेरे अपने निष्कर्ष और Maxr1998 को देखते हुए, यह कहना सुरक्षित है कि Google अंततः RRO थीम को जन-जन तक पहुंचाने की तैयारी कर रहा है.

बेशक, इस बात की कोई गारंटी नहीं है कि बाद के एंड्रॉइड O बिल्ड में से किसी एक में यह सुविधा हटा नहीं दी जाएगी। यह संभव है कि Google यह निर्णय ले कि RRO उस तरह से काम नहीं कर रहा जैसा वह चाहता है और इस सुविधा को ख़त्म कर दे। हालाँकि, सोनी और हमारे अपने विकास समुदाय दोनों के हाथों में आरआरओ के व्यापक इतिहास को देखते हुए, हम में से कई लोग सोनी के रनटाइम रिसोर्स ओवरले की महानता से पहले से ही परिचित हैं। और चूंकि पहले से ही ढेर सारी आरआरओ-संगत थीम उपलब्ध हैं, यदि Google कभी हमें इंस्टॉल करने की अनुमति देने का निर्णय लेता है कस्टम थीम, वे उपयोगकर्ताओं के आनंद लेने के लिए पहले से ही उपलब्ध थीम के व्यापक बाज़ार के द्वार खोल देंगे।


फ़ीचर छवि क्रेडिट: सोनीडेववर्ल्ड