Computer >> कंप्यूटर >  >> प्रणाली >> Android

एडीबी एंड्रॉइड इंस्टॉल गाइड:ड्राइवर और कमांड

इस लेख में, हम यह पता लगाएंगे कि जब आप एक या एक से अधिक डिवाइस और एमुलेटर स्थापित कर रहे हैं, परीक्षण कर रहे हैं, निदान कर रहे हैं और प्रबंधित कर रहे हैं, तो आप एडीबी का उपयोग कैसे कर सकते हैं।

एक सॉफ्टवेयर डेवलपर के रूप में मेरे पहले कुछ वर्षों के लिए, मुख्य रूप से एंड्रॉइड एसडीके के साथ काम करते हुए, मुझे नहीं पता था कि एंड्रॉइड डीबग ब्रिज (एडीबी/एडीबी) क्या है, यह क्या करता है, या इसका उपयोग कब करना है।

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

मैं यह भी उल्लेख करना चाहूंगा कि यह लेख दो प्रकार के व्यक्तियों को ध्यान में रखकर लिखा गया है :

  • जो सीएलआई, शेल, प्रक्रियाओं और क्लाइंट-सर्वर मॉडल से परिचित हैं
  • जो सीएलआई, शेल, प्रक्रियाओं और क्लाइंट-सर्वर मॉडल से परिचित नहीं हैं

पहली श्रेणी के लोगों के लिए, आप शीर्षक वाले अनुभाग को छोड़ना चाह सकते हैं:"ADB के साथ कैसे कार्य करें ।"

दूसरी श्रेणी के लोगों के लिए, मैं मान लूंगा कि आप एक जूनियर डेवलपर के रूप में मेरे जैसे थे और सीएलआई, शेल और एडीबी के बारे में बहुत कम जानते हैं। पहला खंड कुछ बुनियादी नियमों और विचारों के लिए एक नरम परिचय और शब्दावली है, जिसे मैं सबसे सरल तरीके से समझा सकता हूं।

प्रारंभिक

यहां, हम कुछ विषयों के बारे में जानेंगे जो महत्वपूर्ण हैं यदि आप यह समझना चाहते हैं कि एडीबी कैसे काम करता है और इसका उपयोग किया जाता है।

हो सकता है कि आप में से कुछ लोग विम उत्साही या निर्णय लेने वाले यूनिक्स सिस्टम प्रशासकों का मजाक उड़ाकर अतीत में कमांड लाइन टूल्स सीखने से डर गए हों। जैसा कि आप देखेंगे, मैं स्वतंत्र रूप से स्वीकार करता हूं कि सीएलआई मेरे दिमाग के काम करने के लिए आदर्श नहीं है, इसलिए मुझे लगता है कि आप इस विषय पर मेरे विचार का आनंद ले सकते हैं।

कमांड लाइन

सीधे शब्दों में कहें तो कमांड लाइन कंप्यूटर के लिए एक इंटरफेस (सूचना भेजने/प्राप्त करने का तरीका) है जो केवल टेक्स्ट की पंक्तियों का उपयोग करता है .

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

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

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

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

उन लोगों के लिए जो समय देना चाहते हैं, भले ही यह एक संघर्ष है (जैसे मैं करता हूं), या जो वास्तव में ऐसी चीजों को याद रखने में काफी अच्छे हैं, आप शायद इस बात की सराहना करना सीखेंगे कि आप कितने अधिक कुशल हो सकते हैं सीएलआई बनाम जीयूआई के भीतर .

विभिन्न मेनू और स्क्रीन के माध्यम से अपना रास्ता इंगित करने और क्लिक करने में लगने वाले समय के एक अंश में कई ऑपरेशन किए जा सकते हैं। स्क्रिप्ट लिखना भी संभव है, जो टेक्स्ट कमांड की एक श्रृंखला वाली फाइलें हैं, जो आपकी दक्षता को और भी बढ़ा सकती हैं।

ABD शेल का उपयोग कैसे करें

मुझे यह मान लेना होगा कि आप ऑपरेटिंग सिस्टम (OS) शब्द से परिचित हैं, जिसमें Android, iOS, Windows, Mac, Linux, और कोई अन्य यूनिक्स जैसी प्रणाली शामिल है।

यह शब्द एडीबी के लिए प्रासंगिक क्यों है? एक स्पष्टीकरण देने के लिए जो सटीकता पर स्पष्टता को प्राथमिकता देता है, एंड्रॉइड ओएस लिनक्स पर आधारित है, और लिनक्स यूनिक्स पर आधारित है।

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

शेल प्रोग्राम के लिए एक सामान्य शब्द है जिसका उपयोग आप ओएस के साथ बातचीत करने के लिए करते हैं। जिस तरह एक कछुए का खोल कछुए को सुरक्षा और पहुंच प्रदान करता है (और सबसे बाहरी परत है), ओएस का खोल दोनों ओएस के आंतरिक कामकाज की रक्षा करता है और पहुंच प्रदान करता है। व्यक्तिगत रूप से, मुझे यह जानकर काफी आश्चर्य हुआ कि "शेल" कोई गूढ़ संक्षिप्त नाम नहीं था।

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

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

ABD क्लाइंट और ABD सर्वर का उपयोग कैसे करें

एक बार फिर, आइए हम थोड़ी सटीक व्याख्या के साथ शुरू करें, जिसे समझना आसान होगा। हालांकि, मैं इस परिभाषा को जल्द ही ठीक कर दूंगा।

क्लाइंट और सर्वर दोनों कंप्यूटर हैं। हम उन्हें इस तरह से अलग करने का कारण उनकी भूमिका . पर आधारित है . उदाहरण के लिए, आपका कंप्यूटर (चाहे वह डेस्कटॉप, लैपटॉप, फोन, या अन्य कोई भी हो) एक फ्रीकोडकैंप सर्वर का क्लाइंट है, जो सेवा करता है आप यह HTML पृष्ठ।

सामान्य तौर पर, एक क्लाइंट कुछ ऐसा होता है जो किसी और चीज़ का उपयोग करता है , जबकि सर्वर वह है जिसका उपयोग किया जा रहा है . इस शब्द के बारे में ज़्यादा न सोचें, क्योंकि क्लाइंट-सर्वर मॉडल कंप्यूटिंग के अंदर और बाहर बहुत बड़ी संख्या में चीजों का वर्णन कर सकता है।

अब, जब मैंने कहा कि क्लाइंट और सर्वर दोनों "कंप्यूटर" हैं, तो यह वास्तव में इस संदर्भ में सच नहीं है कि हम बाद में इन शर्तों का उपयोग करेंगे।

प्रोग्रामर और इंजीनियरों के रूप में, हमें आम तौर पर क्लाइंट्स और सर्वर्स को प्रोसेस के रूप में सोचना चाहिए (एक प्रोसेस बस एक रनिंग प्रोग्राम है )

इसका मतलब यह है कि एक क्लाइंट प्रक्रिया और एक सर्वर प्रक्रिया अक्सर अलग-अलग कंप्यूटरों पर चलती है, अगर वे एक ही कंप्यूटर पर चलती हैं तो यह भी ठीक है।

वे उक्त कंप्यूटर के मेमोरी स्पेस में अलग-अलग स्थानों पर कब्जा कर लेंगे, इसलिए प्रभावी रूप से एकमात्र अंतर यह है कि वे नेटवर्क कनेक्शन के माध्यम से एक-दूसरे को संदेश भेजने के विरोध में आईपीसी (इंटर-प्रोसेस कम्युनिकेशन) का उपयोग करके संवाद करेंगे।

जैसा कि हम जल्द ही देखेंगे, एडीबी एक सर्वर प्रक्रिया का उपयोग करता है, जो कई डेवलपर्स (एकाधिक क्लाइंट) को कई एंड्रॉइड डिवाइस और/या एमुलेटर का प्रबंधन करने की अनुमति देता है।

एक एंटरप्राइज़ सेटिंग में, यह सर्वर प्रक्रिया संभवतः एक रिमोट (नेटवर्क कनेक्शन के माध्यम से संचारित) कंप्यूटर पर बैठेगी, लेकिन हम एक सर्वर स्थापित करेंगे जो हमारे क्लाइंट के लिए स्थानीय है। ऐसा करना आपके विचार से कहीं अधिक सरल होगा।

एबीडी डेमॉन क्या है?

यदि आप आगे निकल गए हैं, तो मैंने पहले ही समझाया है कि एक प्रक्रिया केवल एक चलने वाला कार्यक्रम है। एक डेमॉन एक ऐसी प्रक्रिया है जो बैकग्राउंड में चलती है, जिसका मतलब है कि उपयोगकर्ता इसके साथ सीधे इंटरैक्ट नहीं करता है।

उदाहरण के लिए, यदि आप एक वेब ब्राउज़र खोलते हैं, तो संभावना है कि इंटरनेट से कनेक्ट होने के लिए आवश्यक नेटवर्क कनेक्शन को प्रबंधित करने का वास्तविक कार्य NetworkManager डेमॉन (ब्राउज़र प्रक्रिया के विपरीत) जैसी किसी चीज़ द्वारा किया जाएगा।

प्रत्येक एंड्रॉइड डिवाइस (भौतिक या नकली), यह मानते हुए कि इसे ठीक से कॉन्फ़िगर किया गया है, इसमें एक एडीबी डेमॉन (एडीबीडी) होगा जो सर्वर प्रक्रिया द्वारा दिए गए आदेशों को निष्पादित करता है।

संक्षेप में, जब हमारा क्लाइंट सर्वर को एक कमांड जारी करता है, तो सर्वर उस कमांड को ADBD को भेज देगा, जो इसे डिवाइस पर निष्पादित करेगा।

Android विकास के लिए ADB का उपयोग कैसे करें

इस लेख के शेष भाग के लिए, हम निम्नलिखित विषयों की खोज करेंगे:

  • आपके सिस्टम पर ADB का उपयोग करने के लिए आवश्यक ड्राइवर और कॉन्फ़िगरेशन
  • भौतिक उपकरणों और एमुलेटर के साथ एडीबी का उपयोग करना
  • एडीबी के सीएलआई का उपयोग कर बुनियादी आदेश
  • ADB के माध्यम से Android डिवाइस के शेल का उपयोग करके अधिक जटिल उपयोग पर एक नज़र

आगे बढ़ने से पहले, आप यह स्थापित करना चाहेंगे कि एडीबी के साथ बातचीत करने के लिए आप किस सीएलआई उपकरण का उपयोग करेंगे। विंडोज़ पर, मैं पावरशेल का उपयोग करना पसंद करता हूं, लेकिन कमांड प्रॉम्प्ट भी काम करेगा। Linux और Mac के लिए, डिफ़ॉल्ट टर्मिनल को काम करना चाहिए।

काम पूरा करने के लिए बेझिझक उपयोग करें।

इस लेख में पूरी प्रक्रिया का बहुत विस्तृत विवरण दिया गया है, लेकिन मैंने एक वीडियो ट्यूटोरियल तैयार किया है जो इसे यहां संक्षेप में शामिल करता है:

adb के लिए वीडियो ट्यूटोरियल।

सीएलआई उदाहरणों को कैसे समझें

इस आलेख में आपके पसंदीदा सीएलआई उपकरण में इनपुट करने के लिए कई आदेश शामिल हैं। किसी दिए गए कमांड का कोई भी भाग जो स्थिति के अनुसार बदलता है उसे कोण कोष्ठक में लिखा जाएगा।

आपके द्वारा लिखे गए CLI आदेश में कोण कोष्ठक शामिल न करें।

उदाहरण के लिए, अगर मैंने लिखा...:

adb pair <ip-address>:<port>

...आप वास्तविक मान के लिए कोण कोष्ठक और नाम को प्रतिस्थापित करेंगे, जैसे:

adb pair 192.168.0.1:5554

ABD ड्राइवर और कॉन्फ़िगरेशन

सबसे पहले, सुनिश्चित करें कि आपके पास Android SDK प्लेटफ़ॉर्म-टूल्स का नवीनतम (या कम से कम हाल ही का) संस्करण है। यदि किसी कारण से आप Android Studio (AS) का उपयोग नहीं करते हैं, तो उस लिंक पर क्लिक करें और अपने संबंधित OS के लिए स्टैंडअलोन पैकेज डाउनलोड करें।

यदि आपके पास Android Studio है, तो आप SDK प्रबंधक का उपयोग करके इस पैकेज को डाउनलोड या अपडेट कर सकते हैं।

एसडीके प्रबंधक को खोलने के लिए एएस में आमतौर पर एक टूलबार आइकन होता है, लेकिन वे इसे बदलना पसंद करते हैं जो व्यावहारिक रूप से हर हॉटफिक्स जैसा दिखता है।

यदि आपको इसे खोजने का सौभाग्य नहीं मिला है, तो फ़ाइल -> सेटिंग . पर जाएं और खोज बार में, "एसडीके" टाइप करें, और "एंड्रॉइड एसडीके" मेनू आइटम खोजें।

एडीबी एंड्रॉइड इंस्टॉल गाइड:ड्राइवर और कमांड
सिस्टम सेटिंग यह दर्शाती है कि Android SDK प्लेटफ़ॉर्म टूल इंस्टॉल किए गए हैं

अगला चरण कई चरों के आधार पर बदलता है। जैसा कि प्रारंभिक . में चर्चा की गई है अनुभाग में, ADB क्लाइंट-सर्वर मॉडल का उपयोग करता है जो आपके द्वारा टूल का उपयोग करने के तरीके में बहुत अधिक लचीलेपन की अनुमति देता है।

अधिक विशिष्ट होने के लिए, आपके पास हो सकता है:

  • एक से अधिक क्लाइंट दूरस्थ सर्वर से इंटरैक्ट कर रहे हैं
  • एक सर्वर जो एक क्लाइंट के लिए स्थानीय (एक ही कंप्यूटर) है
  • एक ही सर्वर से जुड़े विभिन्न प्रकार के भौतिक उपकरण और एमुलेटर

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

एक सर्वर उन्नत कॉन्फ़िगरेशन की आवश्यकता के बिना अधिकतम 16 एमुलेटर और जितने भौतिक उपकरण आप चाहते हैं (कारण के भीतर) प्रबंधित कर सकते हैं।

इस लेख के शेष भाग के लिए, हम अधिकतम एक भौतिक उपकरण और एकल एडीबी सर्वर प्रक्रिया के लिए एक एमुलेटर के साथ काम करेंगे।

एबीडी एम्यूलेटर को कैसे कॉन्फ़िगर करें

सबसे अधिक संभावना है कि आपको कोई और कॉन्फ़िगरेशन करने की आवश्यकता नहीं है, लेकिन संभव है कि आपको डेवलपर विकल्प को सक्षम करने की आवश्यकता हो। अपने एमुलेटर पर। जब हम अपने पहले कुछ एडीबी कमांड प्राप्त करेंगे तो आपको बहुत जल्द पता चल जाएगा कि यह ठीक से काम कर रहा है या नहीं।

यदि आप अपने एमुलेटर पर इस सुविधा को सक्षम करना चाहते हैं, तो आपको अपने Android के विशेष संस्करण के लिए यह शोध करने की आवश्यकता होगी।

USB डीबगिंग - किसी भौतिक उपकरण को कैसे कॉन्फ़िगर करें

यदि आप एक भौतिक Android डिवाइस का उपयोग करने की योजना नहीं बना रहे हैं, तो आप इस अनुभाग को छोड़ सकते हैं। हालांकि, यह ध्यान देने योग्य है कि आपको अभी भी डेवलपर विकल्प सक्षम करने की आवश्यकता हो सकती है

आगे बढ़ने के लिए, आपको अपने Android डिवाइस और डेवलपमेंट मशीन पर USB डीबगिंग या WiFi डीबगिंग को कॉन्फ़िगर करना होगा।

किसी भी स्थिति में, डेवलपर विकल्प . को सक्षम करके प्रारंभ करें आपके डिवाइस पर। आपको अपने Android के विशेष संस्करण के लिए यह शोध करने की आवश्यकता होगी।

USB डीबग करना

सुनिश्चित करें कि आपने डेवलपर विकल्पों के माध्यम से एंड्रॉइड डिवाइस पर यूएसबी डिबगिंग को सक्षम किया है। ऊपर जो लिंक मैंने साझा किया है, वह उस प्रक्रिया का वर्णन करेगा, जो एंड्रॉइड ओएस के विभिन्न संस्करणों में कुछ हद तक बदल जाती है।

आगे बढ़ने से पहले, विंडोज उपयोगकर्ताओं को एक यूएसबी ड्राइवर डाउनलोड करना होगा। उबंटू उपयोगकर्ताओं को भी कुछ अतिरिक्त चरणों की आवश्यकता होती है। Mac और Chrome OS के लिए, आपको जाना अच्छा होगा।

एक बार डेवलपर विकल्पों के माध्यम से यूएसबी डिबगिंग सक्षम हो जाने पर, अपने एंड्रॉइड डिवाइस को यूएसबी केबल के माध्यम से कनेक्ट करें।

वाईफ़ाई डीबग करना

यदि आपके पास कई भौतिक उपकरण हैं या यूएसबी केबल की कमी है, तो आप वाईफाई डिबगिंग का विकल्प चुन सकते हैं।

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

आपके सीएलआई के साथ काम करना शुरू करने का समय . सबसे पहले, आपको अपने एंड्रॉइड एसडीके इंस्टॉलेशन डायरेक्टरी के भीतर प्लेटफॉर्म-टूल्स डायरेक्टरी (या फोल्डर - एक ही चीज) का पता लगाना होगा।

मान लें कि आपके पास एंड्रॉइड स्टूडियो स्थापित है, ऐप के माध्यम से इसे खोजने का एक त्वरित तरीका फिर से फ़ाइल -> सेटिंग्स पर जाना है, फिर खोज बार में "एसडीके" टाइप करें। "एंड्रॉइड एसडीके" मेनू आपको दिखाएगा कि आपका एसडीके कहां स्थापित है, जो निर्देशिका होगी जिसमें प्लेटफॉर्म-टूल्स होना चाहिए।

नीचे दिए गए उदाहरण में, मैंने अपनी Android SDK निर्देशिका में पथ कॉपी किया है , और फिर Windows PowerShell का एक उदाहरण खोला। फिर मैंने निम्नलिखित कमांड टाइप की:

निर्देशिका बदलें:

cd <path-to-SDK-directory>

सूची फ़ाइलें और निर्देशिकाएं:

ls
एडीबी एंड्रॉइड इंस्टॉल गाइड:ड्राइवर और कमांड

इसके बाद, मैंने cd platform-tools टाइप किया उस निर्देशिका में नेविगेट करने के लिए। ध्यान दें कि निम्नलिखित चरण मानते हैं कि आप एक ऐसे उपकरण का उपयोग कर रहे हैं जो Android OS 11 या उच्चतर चला रहा है।

अगर आप Android 10 या इससे पहले के वर्शन पर चलने वाले डिवाइस के साथ काम कर रहे हैं, तो उस स्थिति के लिए विस्तृत निर्देश यहां देखे जा सकते हैं।

एक बार जब आप प्लेटफ़ॉर्म-टूल्स डायरेक्टरी के भीतर होते हैं, तो आप निम्न चरणों का उपयोग करके एक एंड्रॉइड डिवाइस को एक डेवलपमेंट मशीन से पेयर करने के लिए तैयार होते हैं:

1. सेटिंग्स -> सिस्टम -> डेवलपर विकल्पों में वायरलेस डिबगिंग सबमेनू के भीतर, पेयरिंग कोड के साथ डिवाइस को पेयर करें चुनें। ।

2. अपने सीएलआई टूल के भीतर, जिसे प्लेटफॉर्म-टूल्स डायरेक्टरी में सेट किया जाना चाहिए, निम्नलिखित कमांड दर्ज करें:

adb pair <IP address>:<Port>

जहां आईपी एड्रेस और पोर्ट दोनों आपके एंड्रॉइड डिवाइस पर डायलॉग से आते हैं जो पेयरिंग कोड के साथ पेयर डिवाइस को चुनने के बाद पॉप अप होता है। (कोण कोष्ठक शामिल न करें)।

नोट:आप जिस सीएलआई टूल का उपयोग कर रहे हैं, आपके ओएस, और आपके एक्सेस कंट्रोल के आधार पर आपको कुछ अन्य प्रतीकों या कमांड के साथ एडीबी को अपनी कॉल प्रीपेन्ड करने की आवश्यकता हो सकती है। उदाहरण के लिए, मुझे विंडोज़ पर पावरशेल का उपयोग करके .\adb जोड़ी <आईपी पता>:<पोर्ट> टाइप करना था।

3. यह मानते हुए कि चीजें आपके सीएलआई के साथ अच्छी तरह से चल रही हैं, आपको पेयरिंग कोड दर्ज करने के लिए प्रेरित किया जाएगा जो एंड्रॉइड डिवाइस पर उसी डायलॉग में दिखाई दे रहा था जिसने आपको आईपी एड्रेस और पोर्ट नंबर दिया था।

4. पेयरिंग कोड दर्ज करने के बाद, आपको पता चल जाएगा कि यह ऑपरेशन सफल रहा यदि आपको एक संदेश प्राप्त होता है:

Successfully paired to <IP Address>:<Port> [guid=<Some GUID>]

5. यदि आप विंडोज या लिनक्स का उपयोग कर रहे हैं, तो आपको आईपी एड्रेस और पोर्ट का उपयोग करके निम्न कमांड चलाने की भी आवश्यकता होगी जो वायरलेस डिबगिंग वरीयता मेनू के भीतर से दिखाई दे रहा है (संवाद नहीं जो पेयरिंग कोड के साथ पेयर डिवाइस का चयन करने के बाद पॉप अप होता है) :

adb connect <IP Address>:<Port>

जिसके बाद आपको यह सूचित करने के लिए कि आप कनेक्ट हैं, फ़ोन पर एक सूचना प्राप्त होनी चाहिए।

ADB का उपयोग कैसे करें:कमांड

यह मानते हुए कि आप अपने Android डिवाइस और अपनी विकास मशीन को ठीक से कॉन्फ़िगर करने में कामयाब रहे, अब आप ADB टूल का उपयोग कर सकते हैं।

आगे बढ़ने से पहले, सीएलआई टूल का उपयोग करके एडीबी वाली निर्देशिका पर नेविगेट करें (जब तक कि आपने वाईफाई डिबगिंग सेट करने के लिए पिछले अनुभाग में दिए गए चरणों का पालन नहीं किया है)।

अन्यथा अभी ऐसा करें, या उस फ़ोल्डर का पता लगाने के निर्देशों के लिए उस अनुभाग को देखें।

कैसे देखें कि वर्तमान में कौन से डिवाइस सर्वर से कनेक्टेड हैं

अब आप adb kill-server . को छोड़कर ADB पर किसी भी कमांड के बारे में कॉल करके adb सर्वर शुरू कर सकते हैं . आपकी सर्वर प्रक्रिया चल रही है या नहीं, निम्न कमांड टाइप करें:

adb devices

एडीबी एंड्रॉइड इंस्टॉल गाइड:ड्राइवर और कमांड

ऊपर दिए गए स्क्रीनशॉट में, मैंने सबसे पहले adb devices . पर कॉल किया था जब मेरा एंड्रॉइड फोन सर्वर से जुड़ा था। adb kill-server . के माध्यम से सर्वर को मारने के बाद आदेश, मैंने एक बार फिर उन उपकरणों को कॉल किया जिन्होंने सर्वर को पुनरारंभ किया।

दोबारा, यदि कोई एडीबी सर्वर वर्तमान में नहीं चल रहा है, किसी भी एडीबी कमांड को कम या ज्यादा कॉल करने से सर्वर बैक अप शुरू हो जाएगा (adb kill-server . को छोड़कर , बेशक)। एक स्पष्ट adb start-server है आदेश, लेकिन व्यवहार में मुझे इसका उपयोग करने की कभी आवश्यकता नहीं पड़ी।

चूंकि सर्वर को रीसेट कर दिया गया था, इसलिए डिवाइस ने कोई आइटम नहीं लौटाया। इसलिए, अगले उदाहरण पर जाने से पहले मुझे एक बार फिर adb pair . का उपयोग करना पड़ा और adb connect (यदि विंडोज़ या लिनक्स पर) पिछले अनुभाग में वर्णित आदेश।

मैंने अब पॉवरशेल और एमुलेटर प्रोग्राम का उपयोग करके एक एमुलेटर को निकाल दिया है जो "एमुलेटर" नामक प्लेटफॉर्म-टूल्स की एक उपनिर्देशिका में भी स्थित है।

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

यदि आपके पास कई कनेक्टेड डिवाइस हैं, तो adb devices . के लिए एक उपयोगी विकल्प कमांड है -l , जो आपको उपकरणों के बारे में अधिक जानकारी देता है।

नीचे आपको कई प्रविष्टियाँ दिखाई देंगी जो मेरे भौतिक Android डिवाइस के साथ-साथ एक एमुलेटर को संदर्भित करती हैं जिसे एक विशिष्ट पोर्ट से जोड़ा गया है:

एडीबी एंड्रॉइड इंस्टॉल गाइड:ड्राइवर और कमांड

किसी विशिष्ट डिवाइस पर कमांड कैसे भेजें

मेरे फोन को गलती से ब्रिक करने से बचने के लिए, मैं इसके बजाय एमुलेटर को कमांड भेजना चाहता हूं। ऐसा करने के लिए, मुझे -s . को प्रीपेन्ड करना होगा विकल्प, कमांड टाइप करने से पहले लक्ष्य डिवाइस की क्रम संख्या के बाद।

सीरियल नंबर वर्णों का पहला सेट है जो डिवाइस कमांड का उपयोग करने के बाद कनेक्टेड डिवाइस का वर्णन करता है।

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

एडीबी एंड्रॉइड इंस्टॉल गाइड:ड्राइवर और कमांड

दूसरा लाल तीर मेरे फ़ोन के सीरियल नंबर की ओर इशारा करता है (स्पष्ट कारणों से अवरुद्ध)।

स्वाभाविक रूप से, यदि आपके पास केवल एक उपकरण जुड़ा हुआ है (चाहे वह किसी भी प्रकार का हो), तो आपको -s का उपयोग करने की आवश्यकता नहीं है विकल्प।

डिवाइस पर APK (ऐप) इंस्टॉल करें

अब मैं adb install . का उपयोग करके चल रहे एमुलेटर पर एक परीक्षण APK स्थापित करने जा रहा हूं आज्ञा।

यह मूल रूप से एंड्रॉइड स्टूडियो और ग्रैडल को डिबग एपीके स्थापित करने के बराबर है। जैसा कि आप देखेंगे, परीक्षण APK के लिए -t . की आवश्यकता होती है इंस्टाल कमांड के बाद विकल्प:

adb -s <device-serial-number> install -t <path-to-APK>

एडीबी एंड्रॉइड इंस्टॉल गाइड:ड्राइवर और कमांड

नोट:Android OS के लिए आवश्यक है कि किसी भी APK को इंस्टॉल करने से पहले उस पर हस्ताक्षर किए जाने चाहिए (भले ही यह सिर्फ एक परीक्षण/डीबग एपीके है)।

एक समाधान एंड्रॉइड स्टूडियो में इंस्टॉल किए जाने वाले ऐप को बनाना और चलाना है, जो इसे जेनरेट किए गए डिबग प्रमाणपत्र के साथ साइन करेगा। ऐसे एपीके पर हस्ताक्षर करने के कई अन्य तरीके हैं जिन्हें आप इस लिंक पर जाकर एक्सप्लोर कर सकते हैं।

एडीबी और क्या कर सकता है?

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

मुझे यह कहते हुए खुशी हो रही है कि एडीबी के लिए प्रलेखन काफी सुपाठ्य और उपयोगी है, जो सीएलआई कार्यक्रमों में हमेशा ऐसा नहीं होता है।

उन्नत ADB उपयोग युक्तियाँ

इस लेख में हम दोनों के लिए एडीबी के हर उपयोग और आदेश को शामिल करना समय की बर्बादी होगी।

यदि कोई भ्रम है, तो एपीके स्थापित करने के लिए एडीबी का उपयोग करना और एंड्रॉइड स्टूडियो और ग्रैडल आपके लिए जो कुछ भी करते हैं, वह ऐसा कुछ नहीं है जिसे मैं अनुशंसा करता हूं (जब तक कि आपके पास ऐसा करने का कोई अच्छा कारण न हो)।

कहा जा रहा है कि, एडीबी बहुत सी चीजें कर सकता है जो इसके बिना करना मुश्किल या असंभव है।

प्रारंभिक खंड में, मैंने उल्लेख किया है कि एडीबी का उपयोग डिवाइस के खोल में एक हुक प्राप्त करने के लिए किया जा सकता है। इस लेख को समाप्त करने के लिए, हम देखेंगे कि शेल कमांड का उपयोग कैसे करें और उनके बारे में अधिक जानकारी कहां प्राप्त करें।

यदि आप नहीं जानते कि शेल क्या है, तो आपने शायद ऊपर दिए गए अनुभाग को छोड़ दिया है जहाँ मैंने उसे समझाया था।

ABD शेल का उपयोग कैसे करें

ADB का उपयोग करके डिवाइस के शेल में कमांड भेजना काफी सरल है। याद रखें कि यदि आपके पास एक से अधिक डिवाइस कनेक्टेड हैं, तो -s <device-serial-number> . के साथ उसका पालन करें कमांड को एक विशिष्ट डिवाइस पर निर्देशित करने के लिए।

सिंगल शेल कमांड बनाने के लिए, हमें adb shell . का उपयोग करना चाहिए कमांड (बड़ा आश्चर्य, एह?), उसके बाद वास्तविक कमांड जिसे हम डिवाइस के शेल पर बनाना चाहते हैं:

adb shell ls

आउटपुट:

एडीबी एंड्रॉइड इंस्टॉल गाइड:ड्राइवर और कमांड

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

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

adb shell

एक इंटरैक्टिव शैल सत्र में रहते हुए, आप adb shell <command> . के आगे उपयोग किए बिना सीधे शैल कमांड टाइप कर सकते हैं .

ध्यान दें कि जब आप इंटरैक्टिव शैल सत्र को छोड़ना चाहते हैं, तो आप exit . लिखकर ऐसा कर सकते हैं या Ctrl + D दबाएं.

एडीबी एंड्रॉइड इंस्टॉल गाइड:ड्राइवर और कमांड

शेल के माध्यम से आप विभिन्न प्रकार के विभिन्न कमांड और उपयोगिताओं के साथ काम कर सकते हैं। गतिविधि प्रबंधक (am ) विभिन्न परिस्थितियों में एंड्रॉइड ऐप के विभिन्न घटकों (गतिविधियों, सेवाओं, ब्रॉडकास्ट रिसीवर, कुछ नाम रखने के लिए) के परीक्षण के लिए विशेष रूप से उपयोगी हो सकता है।

मान लीजिए कि हम सीधे किसी विशेष गतिविधि में लॉन्च करना चाहते हैं, लेकिन इस गतिविधि को मैनिफेस्ट में लॉन्चर गतिविधि के रूप में निर्दिष्ट नहीं किया गया है।

आपको अभी भी android:exported=”true” जोड़ना होगा प्रत्येक <activity/> . के लिए विशेषता मैनिफेस्ट में प्रविष्टि जिसे आप लॉन्च करना चाहते हैं (यह मानते हुए कि यह पहले से ही लॉन्चर गतिविधि नहीं है)।

उसके बाद आप सीधे उस पर जाने के लिए निम्न कमांड का उपयोग कर सकते हैं:

am start -n <app-package-id>/<activity-name>

ध्यान दें कि <activity-name> पैकेज-आईडी के सापेक्ष जो भी पैकेज शामिल होना चाहिए, जिसमें वह स्थित है। एक गतिविधि लॉन्च करने के उदाहरण के लिए नीचे दिया गया आउटपुट देखें जो कई पैकेजों के भीतर बैठता है।

एडीबी एंड्रॉइड इंस्टॉल गाइड:ड्राइवर और कमांड

आगे पढ़ना

इस लेख में मेरा लक्ष्य अपने शब्दों में (जहां तक ​​संभव हो) एबीडी के उपयोग के माध्यम से आपका परिचय, व्याख्या और मार्गदर्शन करने की पूरी कोशिश करना था।

इस बिंदु पर मुझे कुछ बहुत ही काल्पनिक उदाहरण बनाना शुरू करना होगा या दस्तावेज़ीकरण को केवल कार्बन कॉपी करना होगा, इनमें से कोई भी ऐसी चीजें नहीं हैं जिन्हें करने में मेरी दिलचस्पी है।

इसके बजाय, मैं आपको दस्तावेज़ीकरण पर जाने के लिए प्रोत्साहित करना चाहता हूं, और गतिविधि प्रबंधक, पैकेज प्रबंधक, नीति प्रबंधक, और अन्य जैसे टूल का उपयोग करके आप कुछ अच्छी चीजों पर एक संक्षिप्त नज़र डाल सकते हैं।

आप मुझसे यहां सोशल मीडिया पर संपर्क कर सकते हैं:

https://www.instagram.com/rkay301/
https://www.facebook.com/wiseassblog/
https://twitter.com/wiseass301
https://wiseassblog.com/


  1. Android पर Edge कैसे इंस्टॉल करें और उसका उपयोग कैसे करें

    Microsoft का एज ऐसी सुविधाओं से भरा हुआ है जो डिफ़ॉल्ट ब्राउज़र को उपयोग करने में आनंददायक बनाती हैं—यह किसी भी दिन अब-निष्क्रिय इंटरनेट एक्सप्लोरर का उपयोग करके धराशायी हो जाता है। और, यदि आप एक प्रशंसक हैं, तो अपने स्मार्टफोन में एज अनुभव को अपने साथ लाना एक अच्छा विचार हो सकता है। इस लेख में, हम

  1. अपने कस्टम Android ROM पर GApps इंस्टॉल करने के लिए गाइड?

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

  1. Android पर एक से अधिक Facebook खाते कैसे स्थापित करें और कैसे चलाएं

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