Google ने दूसरे Android Q बीटा का GSI जारी किया। इन सिस्टम छवियों को ऐप परीक्षण के लिए प्रोजेक्ट ट्रेबल-संगत उपकरणों पर स्थापित किया जा सकता है। ऐसे।
जैसे-जैसे हम अंतिम Android Q रिलीज़ के करीब आते जा रहे हैं, डेवलपर्स के लिए अपने एप्लिकेशन को अपडेट करने का समय कम होता जा रहा है। हालाँकि एंड्रॉइड 9 पाई (एपीआई स्तर 28) अभी भी अधिकांश उपकरणों तक नहीं पहुंच पाया है, Google Play की एपीआई स्तर की आवश्यकताएं, जो आपको होनी चाहिए पहले से ही अच्छी तरह से जागरूक रहें, आपको 2020 में एपीआई स्तर 29 को लक्षित करने के लिए मजबूर करेगा। यदि आपने एंड्रॉइड 9 पाई को लक्षित करने के लिए अपने ऐप को पहले से अपडेट नहीं किया है, तब यदि आप कोई नया ऐप लॉन्च करने की योजना बना रहे हैं तो आपके पास अगस्त तक का समय है या यदि आप किसी मौजूदा ऐप को अपडेट करने की योजना बना रहे हैं तो आपके पास नवंबर तक का समय है। आपमें से जो लोग अगले एंड्रॉइड संस्करण के लिए विकास शुरू करना चाहते हैं, आप पहले से ही अपने ऐप का परीक्षण कर सकते हैं एंड्रॉइड स्टूडियो एमुलेटर या यदि आपके पास भौतिक हार्डवेयर है कोई भी Google Pixel स्मार्टफोन. हालाँकि, इस वर्ष, Google डेवलपर्स को नवीनतम Android संस्करण के विरुद्ध अपने ऐप्स का परीक्षण करने का एक और तरीका प्रदान कर रहा है: फ़्लैशिंग
Android Q बीटा GSI प्रोजेक्ट ट्रेबल-संगत डिवाइस पर।प्रोजेक्ट ट्रेबल यह उस गति को बेहतर बनाने के लिए एक प्रमुख पहल है जिस पर स्मार्टफोन डिवाइस निर्माता सॉफ्टवेयर और सुरक्षा अपडेट जारी कर सकते हैं। संक्षेप में, ट्रेबल के लिए आवश्यक है कि डिवाइस निर्माता उस सॉफ़्टवेयर को अलग करें जो हार्डवेयर को OS के पीछे के सॉफ़्टवेयर से काम कराता है। यह डिवाइस निर्माताओं को अपने मौजूदा डिवाइस पर नए एंड्रॉइड रिलीज़ को बूट करने की अनुमति देता है ताकि वे नए एंड्रॉइड सोर्स कोड रिलीज़ के शीर्ष पर अपने मौजूदा कोड बेस को पोर्ट करने का कठिन कार्य शुरू कर सकें। सीटीएस का पूरक वीटीएस या वेंडर टेस्ट सूट है, परीक्षणों का एक सेट जो डिवाइस निर्माता यह सत्यापित करने के लिए उपयोग करते हैं कि उनका डिवाइस प्रोजेक्ट ट्रेबल की आवश्यकताओं को पूरा करता है। डिवाइस निर्माताओं के परीक्षण के लिए सबसे महत्वपूर्ण जांचों में से एक ट्रेबल-संगत स्मार्टफोन की बूट करने की क्षमता है जिसे जीएसआई या जेनेरिक सिस्टम इमेज कहा जाता है। जीएसआई एओएसपी का एक असंशोधित निर्माण है जिसका उद्देश्य डिवाइस निर्माताओं को यह देखना है कि क्या उन्होंने ट्रेबल को ठीक से लागू किया है। हालाँकि, OEM से परे, Google का मानना है कि जीएसआई का उपयोग डेवलपर्स द्वारा एंड्रॉइड ऐप संगतता परीक्षण के लिए किया जा सकता है।
उदाहरण के लिए, यदि आपके पास Google Pixel नहीं है, तो आपके लिए अपने ऐप के व्यवहार का परीक्षण उन परिस्थितियों में करना ही एकमात्र तरीका है जो Google से सबसे अच्छी तरह मेल खाती हों। दस्तावेज़ीकरण आपके लिए है कि आप या तो अपना स्वयं का पिक्सेल डिवाइस प्राप्त करें, एंड्रॉइड स्टूडियो एमुलेटर को बूट करें, या क्लाउड परीक्षण पर गौर करें सेवा। इनमें से प्रत्येक के अपने फायदे और नुकसान हैं, लेकिन यदि आपके पास मौजूदा ट्रेबल-संगत डिवाइस है और आप कोई पैसा खर्च नहीं करना चाहते हैं या एमुलेटर की सीमाओं से निपटना नहीं चाहते हैं, तो उस पर जीएसआई क्यों नहीं लगाया जाए? यदि आपका ऐप GSI पर काम करता है, तो उसे उस Android संस्करण पर चलने वाले लगभग सभी डिवाइस पर काम करना चाहिए।
Android Q GSI जारी करने के Google के निर्णय के पीछे यही विचार प्रक्रिया है, या कम से कम हम तो यही सोचते हैं। Android Q के लिए स्रोत कोड अगस्त तक उपलब्ध नहीं होगा, इसलिए Google की आधिकारिक GSI बायनेरिज़ ही वास्तविक, गैर-पिक्सेल हार्डवेयर पर Android Q का परीक्षण करने का एकमात्र तरीका है। यहां बताया गया है कि आप कैसे शुरुआत कर सकते हैं.
आवश्यकताएं
इससे पहले कि आप Android Q बीटा इंस्टॉल करने पर विचार करें, आपको यह देखना चाहिए कि क्या आपका डिवाइस प्रोजेक्ट ट्रेबल-संगत है और बूटलोडर से फ्लैशिंग सिस्टम छवियों को स्वीकार कर सकता है।
आवश्यकताएं:
- आपका डिवाइस अवश्य एक है अनलॉक करने योग्य बूटलोडर. यू.एस. में बेचे जाने वाले स्नैपड्रैगन सैमसंग स्मार्टफोन, हुआवेई-ब्रांडेड डिवाइस, ऑनर-ब्रांडेड डिवाइस और एचएमडी ग्लोबल के नोकिया-ब्रांडेड डिवाइस (को छोड़कर) नोकिया 8) यहां योग्य नहीं हैं।
- आपके पास अपने पीसी पर नवीनतम एडीबी और फास्टबूट बायनेरिज़ स्थापित हैं, जिन्हें आप पा सकते हैं यहाँ. फ़ास्टबूट के पुराने संस्करणों के परिणामस्वरूप अनुचित फ़्लैश हो सकते हैं।
- आपका डिवाइस अवश्य मिलो एक प्रोजेक्ट ट्रेबल-संगत माने जाने वाले निम्नलिखित मानदंड:
- डिवाइस एंड्रॉइड 9 पाई के साथ लॉन्च हुआ। यदि यह मामला है, तो आप इस अनुभाग के अंत तक पहुंचने के बाद ट्रेबल-संगतता की पुष्टि करना छोड़ सकते हैं।
- डिवाइस को एंड्रॉइड 8.0 ओरियो या एंड्रॉइड 8.1 ओरियो के साथ लॉन्च किया गया था लेकिन इसे वीएनडीके आइसोलेशन और सिस्टम-एज़-रूट के साथ एंड्रॉइड 9 पाई में अपडेट किया गया था। हम नीचे दिए गए अनुभाग में इसका पता लगाने का तरीका विस्तार से बताएंगे।
इससे पहले कि हम आगे बढ़ें, यह उल्लेखनीय है कि जीएसआई को फ्लैश करने के लिए आपको उपयोगकर्ता डेटा विभाजन को पूरी तरह से मिटा देना होगा। इसका मतलब यह है कि आप डिवाइस के आंतरिक और बाहरी (/डेटा/मीडिया) स्टोरेज पर मौजूद सभी फ़ोटो, वीडियो, संगीत, दस्तावेज़ या कुछ भी खो देंगे। इस प्रकार, आगे बढ़ने से पहले ऑफ-डिवाइस बैकअप बनाने की अत्यधिक अनुशंसा की जाती है।
इसके बाद, ध्यान रखें कि इन जीएसआई ने सीटीएस पास नहीं किया है, इसलिए यदि आपका ऐप सीटीएस प्रोफ़ाइल मिलान के साथ डिवाइस की अखंडता की जांच करने के लिए सेफ्टीनेट अटेस्टेशन एपीआई का उपयोग करता है, तो यह काम नहीं करेगा। इसके अलावा, ये बिल्ड दैनिक उपयोग के लिए नहीं हैं, इसलिए आश्चर्यचकित न हों यदि एक या अधिक बुनियादी हार्डवेयर फ़ंक्शन एंड्रॉइड Q में पहले से ही दस्तावेज़ित बग के शीर्ष पर काम नहीं करते हैं। Google ने पहले ही GSI के साथ कुछ ज्ञात समस्याओं को सूचीबद्ध कर दिया है, जिन्हें आप पा सकते हैं यहाँ. कोई भी नया बग जो आपको मिले उसे दर्ज किया जाना चाहिए यहाँ.
ट्रेबल-संगतता की पुष्टि करना
निम्न आदेश चलाएँ:
adbshellgetpropro.treble.enabled
यदि प्रतिक्रिया है असत्य, तो आपका डिवाइस प्रोजेक्ट ट्रेबल संगत नहीं है, और आपको जारी नहीं रखना चाहिए। यदि प्रतिक्रिया है सत्य, तो आप आगे बढ़ने के लिए स्वतंत्र हैं।
इसके बाद, इन आदेशों को चलाकर क्रॉस-वर्जन समर्थन की जांच करें:
adb shell
cat /system/etc/ld.config.28.txt | grep -A 20"\[vendor\]"
आउटपुट में, अनुभाग देखें [विक्रेता], और फिर उस अनुभाग के भीतर, खोजें namespace.default.isolated. यदि उस विशेषता का मान है सत्य, तो आपके डिवाइस को एंड्रॉइड 9 पाई विक्रेता छवि के शीर्ष पर एंड्रॉइड क्यू जीएसआई को बूट करने का समर्थन करना चाहिए। यदि मान है असत्य, तो आपका डिवाइस केवल OS के उसी ऑन-डिवाइस संस्करण के लिए GSI का उपयोग कर सकता है।
अंत में, आपको यह पुष्टि करने की आवश्यकता है कि क्या आपका डिवाइस सिस्टम-एज़-रूट है, जिसमें रैमडिस्क को सिस्टम इमेज के साथ मर्ज किया गया है। एंड्रॉइड 9 पाई पर अपग्रेड करने वाले उपकरणों के लिए सिस्टम-एज़-रूट अनिवार्य नहीं है, लेकिन सिस्टम-ओनली ओटीए का समर्थन करना आवश्यक है जैसे कि जीएसआई के माध्यम से एक नए ओएस संस्करण को फ्लैश करने के मामले में। निम्नलिखित कमांड चलाएँ और सत्यापित करें कि आउटपुट "सिस्टम-एज़-रूट" से मेल खाता है:
adb shell
cat /proc/mounts | grep -q /dev/root && echo"system-as-root" || echo"non-system-as-root"
अब जब आप जानते हैं कि आपका डिवाइस ट्रेबल-संगत है, तो आपको यह पता लगाना होगा कि जीएसआई बाइनरी का कौन सा संस्करण डाउनलोड करना है, क्योंकि विभिन्न आर्किटेक्चर के लिए अलग-अलग छवियां हैं। यह देखने के लिए कि आपके डिवाइस में कौन सा आर्किटेक्चर है, निम्न कमांड चलाएँ:
adbshellgetpropro.product.cpu.abi
यहां आउटपुट को नोट कर लें, क्योंकि जीएसआई डाउनलोड करते समय आपको इसकी आवश्यकता होगी।
जीएसआई डाउनलोड हो रहा है
Android Q बीटा GSI के आधिकारिक बिल्ड के लिए डाउनलोड लिंक Google पर उपलब्ध हैं यहाँ. आपको अपने डिवाइस के आर्किटेक्चर के आधार पर उचित संस्करण डाउनलोड करना चाहिए, जो आपको पिछले चरण में पता चला था। यदि आप जीएमएस, या Google मोबाइल सेवाओं के साथ बिल्ड डाउनलोड करते हैं तो डाउनलोड काफी बड़ा होगा, हम इसकी अत्यधिक अनुशंसा करते हैं ताकि आप Google Play सेवाओं के साथ बिल्ड पर अपने ऐप का परीक्षण कर सकें।
एक बार जब फ़ाइल डाउनलोड हो जाए, तो आप उसे अनज़िप कर सकते हैं। भीतर दो फ़ाइलें हैं, system.img, और vbmeta.img.
जीएसआई को चमकाना
- बटन संयोजन का उपयोग करके या कमांड जारी करके अपने डिवाइस के बूटलोडर को रीबूट करें:
adb reboot bootloader
- इसके बाद, हमें Android सत्यापित बूट (AVB) को अक्षम करना होगा। आप निम्न आदेश दर्ज करके ऐसा कर सकते हैं:
fastbootflashvbmetavbmeta.img
- आगे, आइए सिस्टम विभाजन को मिटाएँ:
fastboot erase system
- हम अंततः Android Q GSI को इसके साथ फ़्लैश कर सकते हैं:
fastbootflashsystemsystem.img
- एक बार यह हो जाने पर, उपयोगकर्ताडेटा विभाजन को इसके साथ मिटा दें:
fastboot -w
- पावर बटन का उपयोग करके या निम्न दर्ज करके अपने डिवाइस को रीबूट करें:
fastboot reboot
उम्मीद है, यह कुछ मिनटों के बाद बूट हो जाना चाहिए। इन चरणों को Pixel 3 XL पर मान्य किया गया था, लेकिन इन्हें सार्वभौमिक रूप से काम करना चाहिए। हम सत्यापित कर सकते हैं कि Android Q बीटा 2 GSI वनप्लस 6T पर बूट नहीं होता है, लेकिन यह Xiaomi Mi 9 पर बूट होता है। यह Sony Xperia XZ3 पर काम कर सकता है, लेकिन हमें बताया गया है कि यह Moto G7 पर बूट नहीं होता है। आपका माइलेज भिन्न हो सकता है क्योंकि Google की आवश्यकताएँ केवल समान OS संस्करण GSI संगतता की पुष्टि करती हैं।