चमकती डिवाइस

यह पृष्ठ विशिष्ट उपकरणों पर बिल्ड चलाने के लिए विवरण प्रदान करता है। ये विवरण बिल्डिंग एंड्रॉइड में जानकारी के पूरक हैं।

फास्टबूट और एडीबी का निर्माण

यदि आपके पास पहले से fastboot और adb नहीं है, तो आप उन्हें नियमित बिल्ड सिस्टम के साथ बना सकते हैं। एंड्रॉइड बिल्डिंग में दिए गए निर्देशों का उपयोग करें और मुख्य make कमांड को इसके साथ बदलें:

make fastboot adb

एंड्रॉइड डिबग ब्रिज (एडीबी) पर विवरण के लिए एंड्रॉइड डिबग ब्रिज (एडीबी) देखें।

फास्टबूट मोड में बूट हो रहा है

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

आप बूटलोडर में सीधे रीबूट करने के लिए adb reboot bootloader कमांड का भी उपयोग कर सकते हैं। पूर्ण निर्देशों के लिए फ्लैशिंग निर्देश देखें।

बूटलोडर को अनलॉक करना

आप किसी कस्टम सिस्टम को केवल तभी फ्लैश कर सकते हैं जब बूटलोडर इसकी अनुमति देता है। हालाँकि, ध्यान दें कि बूटलोडर डिफ़ॉल्ट रूप से लॉक है। आप बूटलोडर को अनलॉक कर सकते हैं, लेकिन ऐसा करने से गोपनीयता कारणों से उपयोगकर्ता डेटा नष्ट हो जाता है। अनलॉक करने के बाद, डिवाइस पर मौजूद सभी डेटा मिटा दिया जाता है, यानी, निजी ऐप डेटा और यूएसबी पर एक्सेस किया जा सकने वाला साझा डेटा (फ़ोटो और मूवी सहित)। बूटलोडर को अनलॉक करने का प्रयास करने से पहले, डिवाइस पर किसी भी महत्वपूर्ण फ़ाइल का बैकअप लें।

आपको बूटलोडर को केवल एक बार अनलॉक करने की आवश्यकता है, और यदि आवश्यक हो तो आप इसे फिर से लॉक कर सकते हैं।

हाल के उपकरणों को अनलॉक करना

2014 से जारी सभी नेक्सस और पिक्सेल डिवाइस (नेक्सस 6 और नेक्सस 9 से शुरू) में फ़ैक्टरी-रीसेट सुरक्षा है और बूटलोडर को अनलॉक करने के लिए एक मल्टीस्टेप प्रक्रिया की आवश्यकता होती है।

  1. डिवाइस पर OEM अनलॉकिंग सक्षम करने के लिए:
    1. सेटिंग्स में, फ़ोन के बारे में टैप करें, फिर बिल्ड नंबर पर सात बार टैप करें।
    2. जब आप संदेश देखते हैं तो आप अब एक डेवलपर हैं! , बैक बटन पर टैप करें।
    3. सेटिंग्स में, सिस्टम टैप करें, फिर डेवलपर विकल्प टैप करें और OEM अनलॉकिंग और यूएसबी डिबगिंग सक्षम करें। (यदि ओईएम अनलॉकिंग अक्षम है, तो इंटरनेट से कनेक्ट करें ताकि डिवाइस कम से कम एक बार चेक इन कर सके। यदि यह अक्षम रहता है, तो आपका डिवाइस आपके कैरियर द्वारा सिम लॉक किया जा सकता है और बूटलोडर को अनलॉक नहीं किया जा सकता है।)
  2. बूटलोडर में रीबूट करें और इसे अनलॉक करने के लिए fastboot उपयोग करें।
    • नए उपकरणों (2015 और उच्चतर) के लिए:
      fastboot flashing unlock
    • पुराने उपकरणों (2014 और उससे पहले) के लिए:
      fastboot oem unlock
    टिप: यदि आप रीबूट से पहले `एडीबी डिवाइसेस` आउटपुट देख रहे हैं लेकिन फास्टबूट या फ्लैश स्क्रिप्ट गलत व्यवहार कर रही है, तो यह आपके यूएसबी केबल के साथ समस्या हो सकती है। किसी भिन्न पोर्ट और/या स्विचिंग कनेक्टर का प्रयास करें। यदि आप अपने कंप्यूटर पर USB C पोर्ट का उपयोग कर रहे हैं तो इसके बजाय USB A पोर्ट आज़माएँ।
  3. ऑनस्क्रीन अनलॉक की पुष्टि करें।

बूटलोडर को पुनः लॉक करना

बूटलोडर को पुनः लॉक करने के लिए:

  • नए उपकरणों (2015 और उच्चतर) के लिए:
    fastboot flashing lock
  • पुराने उपकरणों (2014 और उससे पहले) के लिए:
    fastboot oem lock

फ़्लैश लॉक स्थिति का उपयोग करना

getFlashLockState() सिस्टम API बूटलोडर स्थिति को प्रसारित करता है और PersistentDataBlockManager.getFlashLockState() सिस्टम API अनुरूप उपकरणों पर बूटलोडर की लॉक स्थिति लौटाता है।

प्रतिलाभ की मात्रा स्थितियाँ
FLASH_LOCK_UNKNOWN केवल एंड्रॉइड 7.x या उच्चतर पर अपग्रेड करने वाले उपकरणों द्वारा लौटाया जाता है जो पहले फ्लैश लॉक स्थिति प्राप्त करने के लिए आवश्यक बूटलोडर परिवर्तनों का समर्थन नहीं करते थे यदि वे फ्लैशिंग लॉक/अनलॉक क्षमता का समर्थन करते थे।
  • Android 7.x या उच्चतर संस्करण चलाने वाले नए उपकरण या तो FLASH_LOCK_LOCKED या FLASH_LOCK_UNLOCKED स्थिति में होने चाहिए।
  • एंड्रॉइड 7.x या उच्चतर पर अपग्रेड करने वाले डिवाइस जो फ्लैशिंग अनलॉक/लॉक क्षमता का समर्थन नहीं करते हैं, उन्हें FLASH_LOCK_LOCKED स्थिति लौटानी चाहिए।
FLASH_LOCK_LOCKED किसी भी डिवाइस द्वारा लौटाया गया जो फ्लैशिंग लॉक/अनलॉक का समर्थन नहीं करता है (अर्थात, डिवाइस हमेशा लॉक रहता है), या कोई भी डिवाइस जो फ्लैशिंग लॉक/अनलॉक का समर्थन करता है और लॉक स्थिति में है।
FLASH_LOCK_UNLOCKED किसी भी उपकरण द्वारा लौटाया गया जो फ्लैशिंग लॉक/अनलॉक का समर्थन करता है और अनलॉक स्थिति में है।

निर्माताओं को लॉक और अनलॉक बूटलोडर वाले उपकरणों द्वारा लौटाए गए मानों का परीक्षण करना चाहिए। उदाहरण के लिए, एंड्रॉइड ओपन सोर्स प्रोजेक्ट (एओएसपी) में एक संदर्भ कार्यान्वयन शामिल है जो ro.boot.flash.locked बूट प्रॉपर्टी के आधार पर एक मान लौटाता है। उदाहरण कोड निम्नलिखित निर्देशिकाओं में स्थित है:

  • frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
  • frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java

डिवाइस बिल्ड का चयन करना

अनुशंसित डिवाइस बिल्ड lunch मेनू से उपलब्ध हैं, जिन्हें बिना किसी तर्क के lunch कमांड चलाने पर एक्सेस किया जा सकता है। lunch कमांड पर अतिरिक्त जानकारी के लिए, लक्ष्य चुनें देखें। निर्माण लक्ष्यों की सूची के लिए, लक्ष्य बनाएँ देखें।

आप Developers.google.com से Pixel और Nexus डिवाइस के लिए फ़ैक्टरी छवियां और बायनेरिज़ डाउनलोड कर सकते हैं। डाउनलोड के लिए डिवाइस बायनेरिज़ देखें। विवरण और अतिरिक्त संसाधनों के लिए, मालिकाना बायनेरिज़ प्राप्त करना देखें।

उपकरण कोड नाम कॉन्फ़िगरेशन बनाएँ
पिक्सेल 7 प्रो चीता aosp_cheetah-userdebug
पिक्सेल 7 तेंदुआ aosp_panther-userdebug
पिक्सेल 6 प्रो काला कौआ aosp_raven-userdebug
पिक्सेल 6 ओरियल aosp_oriole-userdebug
पिक्सेल 5 Redfin aosp_redfin-userdebug
पिक्सल 4ए 5जी ब्रेंबल aosp_bramble-userdebug
पिक्सेल 4a सनफिश aosp_sunfish-userdebug
पिक्सेल 4 एक्सएल मूंगा aosp_coral-userdebug
पिक्सेल 4 ज्योति aosp_flame-userdebug
पिक्सेल 3ए एक्सएल बोनिटो aosp_bonito-userdebug
पिक्सेल 3ए सर्गो aosp_sargo-userdebug
पिक्सेल 3 एक्सएल क्रॉसहैच aosp_crosshatch-userdebug
पिक्सेल 3 नीली रेखा aosp_blueline-userdebug
पिक्सेल 2 एक्सएल तैमेन aosp_taimen-userdebug
पिक्सेल 2 बटुआ aosp_walleye-userdebug
पिक्सेल एक्सएल मार्लिन aosp_marlin-userdebug
पिक्सेल सेलफ़िश aosp_sailfish-userdebug
हाईकी हाइकी hikey-userdebug
नेक्सस 6पी कांटेबाज़ aosp_angler-userdebug
नेक्सस 5X गाउदी aosp_bullhead-userdebug
नेक्सस 6 शामू ह्वेल aosp_shamu-userdebug
नेक्सस प्लेयर फुगु aosp_fugu-userdebug
नेक्सस 9 वोलेंटिस (फ़्लाउंडर) aosp_flounder-userdebug
नेक्सस 5 (जीएसएम/एलटीई) हथौड़ा का सिरा aosp_hammerhead-userdebug
नेक्सस 7 (वाई-फ़ाई) रेजर (फ्लो) aosp_flo-userdebug
नेक्सस 7 (मोबाइल) रज़ोर्ग (डेब) aosp_deb-userdebug
नेक्सस 10 मंटारे (मंटा) full_manta-userdebug
नेक्सस 4 ओकाम (माको) full_mako-userdebug
नेक्सस 7 (वाई-फ़ाई) नकासी (ग्रुपर) full_grouper-userdebug
नेक्सस 7 (मोबाइल) नाकासिग (तिलापिया) full_tilapia-userdebug
गैलेक्सी नेक्सस (जीएसएम/एचएसपीए+) याक्जू (मैगुरो) full_maguro-userdebug
गैलेक्सी नेक्सस (वेरिज़ोन) मायसिड (टोरो) √aosp_toro-userdebug
गैलेक्सी नेक्सस (प्रायोगिक) मायसिडस्प्र (टोरोप्लस) aosp_toroplus-userdebug
मोटोरोला ज़ूम (यूएस वाई-फ़ाई) विंगरे full_wingray-userdebug
नेक्सस एस सोजू (क्रेस्पो) full_crespo-userdebug
नेक्सस एस 4जी सोजस (क्रेस्पो4जी) full_crespo4g-userdebug

किसी उपकरण को चमकाना

आप एक ही कमांड में संपूर्ण एंड्रॉइड सिस्टम को फ्लैश कर सकते हैं; ऐसा करने से यह सत्यापित होता है कि फ्लैश किया जा रहा सिस्टम स्थापित बूटलोडर और रेडियो के साथ संगत है, बूट, रिकवरी और सिस्टम विभाजन को एक साथ लिखता है, फिर सिस्टम को रिबूट करता है। fastboot oem unlock की तरह फ्लैशिंग भी सभी उपयोगकर्ता डेटा को मिटा देती है।

किसी डिवाइस को फ़्लैश करने के लिए:

  1. छवि फ़ाइल को उसकी अपनी निर्देशिका में अनज़िप करें।
  2. चरण 1 में उपयोग की गई समान निर्देशिका को इंगित करने के लिए ANDROID_PRODUCT_OUT पर्यावरण चर सेट करें।
  3. बूट पर उपयुक्त कुंजी संयोजन को दबाकर या निम्न कमांड का उपयोग करके डिवाइस को fastboot मोड में रखें:
    adb reboot bootloader
  4. डिवाइस फास्टबूट मोड में होने के बाद, चलाएँ:
    fastboot flashall -w
    -w विकल्प डिवाइस पर /data विभाजन को मिटा देता है; यह आपके द्वारा पहली बार किसी विशेष उपकरण को फ्लैश करने के लिए उपयोगी है, लेकिन अन्यथा अनावश्यक है।

चमकती विन्यास

फास्टबूट निर्देशों को fastboot-info.txt नामक एक आर्टिफैक्ट में लिखा गया है जो $ANDROID_PRODUCT_OUT/* में रहता है। फास्टबूट को निष्पादित करने के लिए कार्यों की यह .txt दस्तावेज़ सूची है और इसे m fastboot_info के माध्यम से पुन: उत्पन्न किया जा सकता है। इस फ़ाइल को संशोधित करके कस्टम फ़्लैशिंग लॉजिक पेश किया जा सकता है

समर्थित आदेश:

  1. फ़्लैश %s : किसी दिए गए विभाजन को फ़्लैश करें. वैकल्पिक तर्कों में --slot-other, {filename_path}, --apply-vbmeta शामिल हैं
  2. अद्यतन-सुपर : सुपर विभाजन को अद्यतन करता है
  3. if-wipe : यदि वाइप निर्दिष्ट है तो सशर्त रूप से कुछ अन्य कार्यक्षमता चलाएँ
  4. मिटाएँ %s : किसी दिए गए विभाजन को मिटाएँ (केवल संयोजन में उपयोग किया जा सकता है) if-wipe के साथ -> उदाहरण के लिए। if-wipe erase cache

डिवाइसों को फ़ैक्टरी स्थिति में पुनर्स्थापित करना

Google उपकरणों के लिए फ़ैक्टरी छवियां Nexus और Pixel डिवाइसों के लिए फ़ैक्टरी छवियों से उपलब्ध हैं। मोटोरोला ज़ूम के लिए फ़ैक्टरी छवियां सीधे मोटोरोला द्वारा वितरित की जाती हैं।

अनुमति अस्वीकृत त्रुटियों का समाधान करें

अधिकांश लिनक्स सिस्टम पर डिफ़ॉल्ट रूप से, वंचित उपयोगकर्ता यूएसबी पोर्ट तक नहीं पहुंच सकते हैं। यदि आपको अनुमति अस्वीकृत त्रुटि दिखाई देती है, तो विकास के लिए एक उपकरण सेट करने के लिए एंड्रॉइड स्टूडियो के निर्देशों का संदर्भ लें।

यदि एडीबी पहले से ही चल रहा था और डिवाइस से कनेक्ट नहीं हो सका, तो आप adb kill-server के साथ एडीबी को रोक सकते हैं। यह आदेश ADB को नए कॉन्फ़िगरेशन के साथ पुनरारंभ करने का कारण बनता है।