हार्डवेयर डिवाइस पर ऐप्लिकेशन चलाएं

हमेशा अपने Android ऐप्लिकेशन को किसी असली डिवाइस पर टेस्ट करें. इसके बाद ही, उसे लोगों के लिए रिलीज़ करें. इस पेज पर, Android डीबग ब्रिज (एडीबी) कनेक्शन के ज़रिए टेस्टिंग और डीबग करने के लिए, डेवलपमेंट एनवायरमेंट और Android डिवाइस को सेट अप करने का तरीका बताया गया है.

डेवलपमेंट के लिए डिवाइस सेट अप करना

अपने डिवाइस पर डीबग करने से पहले, तय करें कि आपको यूएसबी केबल या वाई-फ़ाई का इस्तेमाल करके डिवाइस से कनेक्ट करना है. इसके बाद, यह तरीका अपनाएं:

  1. डिवाइस पर, सेटिंग ऐप्लिकेशन खोलें. इसके बाद, डेवलपर के लिए सेटिंग और टूल चुनें. इसके बाद, यूएसबी डीबग करना चालू करें (अगर लागू हो).

  2. अपने सिस्टम को इस तरह सेट अप करें कि वह आपके डिवाइस का पता लगा सके.

    • ChromeOS: इसके लिए, किसी और कॉन्फ़िगरेशन की ज़रूरत नहीं होती है.
    • macOS: इसके लिए, किसी और कॉन्फ़िगरेशन की ज़रूरत नहीं होती.
    • Windows: अगर लागू हो, तो ADB के लिए यूएसबी ड्राइवर इंस्टॉल करें. इंस्टॉल करने से जुड़ी गाइड और ओईएम ड्राइवर के लिंक के लिए, ओईएम यूएसबी ड्राइवर इंस्टॉल करना लेख पढ़ें.
    • Ubuntu Linux: इन्हें सेट अप करें:

      • ADB का इस्तेमाल करने वाले हर उपयोगकर्ता को plugdev ग्रुप में शामिल होना होगा. अगर आपको गड़बड़ी का ऐसा मैसेज दिखता है जिसमें बताया गया है कि आप plugdev ग्रुप में शामिल नहीं हैं, तो खुद को इस ग्रुप में शामिल करने के लिए, यह कमांड इस्तेमाल करें:
      sudo usermod -aG plugdev $LOGNAME
      

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

      • सिस्टम में udev के ऐसे नियम इंस्टॉल होने चाहिए जो डिवाइस पर लागू हों. udev पैकेज में, Android डिवाइसों के लिए udev के नियमों का डिफ़ॉल्ट सेट होता है. इसे कम्यूनिटी मैनेज करती है. इसे इंस्टॉल करने के लिए, यह कमांड इस्तेमाल करें:android-sdk-platform-tools-common
      apt-get install android-sdk-platform-tools-common
      

यूएसबी का इस्तेमाल करके अपने डिवाइस से कनेक्ट करना

सेट अप करने के बाद, यूएसबी के ज़रिए प्लग इन करें. इसके बाद, Android Studio में चलाएं पर क्लिक करके, डिवाइस पर ऐप्लिकेशन बनाएं और उसे चलाएं.

निर्देश देने के लिए, adb का इस्तेमाल भी किया जा सकता है. इसके लिए, यह तरीका अपनाएं:

  • पुष्टि करें कि आपका डिवाइस कनेक्ट है. इसके लिए, अपनी android_sdk/platform-tools/ डायरेक्ट्री से adb devices कमांड चलाएं. कनेक्ट होने पर, आपको डिवाइस की सूची दिखेगी.
  • अपने डिवाइस को टारगेट करने के लिए, -d फ़्लैग के साथ कोई भी adb कमांड जारी करें.

वाई-फ़ाई का इस्तेमाल करके अपने डिवाइस से कनेक्ट करना

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

Android 17 के साथ-साथ adb 37.0.0 में adb Wi-Fi 2.0 की सुविधा जोड़ी गई है. इससे पिछले वर्शन में इस्तेमाल से जुड़ी कई समस्याएं हल हो जाती हैं. ध्यान दें कि डिवाइस, वायरलेस डिबगिंग के लिए भरोसेमंद नेटवर्क से कनेक्ट होने पर, वर्कस्टेशन से अपने-आप कनेक्ट हो जाएगा.

वायरलेस डीबगिंग का इस्तेमाल करने के लिए, आपको अपने डिवाइस को वर्कस्टेशन से जोड़ना होगा. इसके लिए, आपको पेयरिंग कोड का इस्तेमाल करना होगा. शुरू करने के लिए, यह तरीका अपनाएं:

  1. पक्का करें कि आपका वर्कस्टेशन और डिवाइस, एक ही वायरलेस नेटवर्क से कनेक्ट हों.
  2. पक्का करें कि आपके डिवाइस में Android 11 या इसके बाद का वर्शन हो. ज़्यादा जानकारी के लिए, अपने Android वर्शन की जांच करें और उसे अपडेट करें लेख पढ़ें.
  3. पक्का करें कि आपने Android Studio का नया वर्शन इंस्टॉल किया हो. इसे यहां से डाउनलोड करें.
  4. अपने वर्कस्टेशन पर, SDK Platform Tools को नए वर्शन पर अपडेट करें.

अपने डिवाइस से कनेक्ट करने के लिए, यह तरीका अपनाएं:

  1. अपने डिवाइस पर डेवलपर के लिए सेटिंग और टूल चालू करें.
  2. अपने डिवाइस पर, वायरलेस डीबगिंग पर टैप करें.

    Pixel फ़ोन की स्क्रीन पर, वायरलेस डीबगिंग का अनुरोध दिख रहा है.
    पहली इमेज. Google Pixel फ़ोन पर वायरलेस डीबगिंग का अनुरोध.

  3. अपने नेटवर्क पर वॉयरलेस डीबगिंग की अनुमति दें. ध्यान दें कि इस नेटवर्क पर हमेशा अनुमति दें चेकबॉक्स पर क्लिक करने से, नेटवर्क को भरोसेमंद वॉयरलेस डीबगिंग नेटवर्क के तौर पर सेट कर दिया जाता है. आपका डिवाइस, इस नेटवर्क से कनेक्ट होते ही, इस पर हमेशा वॉयरलेस डीबगिंग की अनुमति देगा.

    Pixel फ़ोन में, वायरलेस डीबगिंग सिस्टम की सेटिंग दिखाई गई है.
    दूसरी इमेज. Google Pixel फ़ोन पर वायरलेस डीबगिंग की सेटिंग.

  4. Android Studio खोलें और रन कॉन्फ़िगरेशन मेन्यू से वाई-फ़ाई का इस्तेमाल करके डिवाइसों को जोड़ें चुनें.

    रन कॉन्फ़िगरेशन ड्रॉप-डाउन
    तीसरी इमेज. रन कॉन्फ़िगरेशन मेन्यू पर क्लिक करें.

  5. चौथी इमेज में दिखाए गए तरीके से, वाई-फ़ाई से डिवाइसों को जोड़ें डायलॉग बॉक्स दिखता है.

    वाई-फ़ाई से डिवाइसों को जोड़ने के लिए पॉप-अप विंडो
    चौथी इमेज. वाई-फ़ाई से डिवाइसों को जोड़ने के लिए डायलॉग.

    इसके अलावा, डिवाइस मैनेजर से भी डिवाइस को जोड़ा जा सकता है. उदाहरण के लिए, My Pixel.

    डिवाइस मैनेजर में, वाई-फ़ाई से जोड़ने के लिए उपलब्ध डिवाइस
    पांचवीं इमेज. डिवाइस मैनेजर में वाई-फ़ाई से कनेक्ट करने के लिए उपलब्ध डिवाइस.

  6. उस डिवाइस पर Pair पर क्लिक करें जिसे आपको जोड़ना है. डिवाइस से जोड़ने का डायलॉग दिखेगा.

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

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

डिवाइस की स्क्रीन शेयर करना

Android Studio में, चल रहे डिवाइस विंडो में अपने फ़िज़िकल डिवाइस को मिरर किया जा सकता है. अपने डिवाइस के डिसप्ले को सीधे Android Studio पर स्ट्रीम करके, Studio IDE का इस्तेमाल करके सामान्य कार्रवाइयां की जा सकती हैं. जैसे, ऐप्लिकेशन शुरू करना और उनसे इंटरैक्ट करना, स्क्रीन को घुमाना, फ़ोन को फ़ोल्ड और अनफ़ोल्ड करना, और आवाज़ को बदलना.

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

डिवाइसों के यूज़र इंटरफ़ेस (यूआई) को मैनेज करना

ऑडियो रीडायरेक्ट करना

डिवाइस मिररिंग की सुविधा का इस्तेमाल करते समय, कनेक्ट किए गए फ़िज़िकल डिवाइसों से ऑडियो को अपने कंप्यूटर के स्पीकर या हेडफ़ोन पर रीडायरेक्ट किया जा सकता है. ऑडियो रीडायरेक्शन की सुविधा की मदद से, अपने हेडफ़ोन को कंप्यूटर से कनेक्ट रखें. साथ ही, कंप्यूटर और कनेक्ट किए गए फ़ोन, दोनों से ऑडियो सुनें. इसके लिए, आपको एक डिवाइस से कनेक्ट करने के बाद, दूसरे डिवाइस से कनेक्ट करने की ज़रूरत नहीं पड़ेगी. ऑडियो रीडायरेक्ट करने की सुविधा चालू करने के लिए, फ़ाइल (macOS पर Android Studio) > सेटिंग > टूल > डिवाइस मिररिंग पर जाएं. इसके बाद, स्थानीय डिवाइसों से ऑडियो रीडायरेक्ट करें को चुनें. ध्यान दें कि Android 12 या इसके बाद के वर्शन पर काम करने वाले Firebase Test Lab डिवाइसों के लिए, ऑडियो हमेशा रीडायरेक्ट किया जाता है. भले ही, सेटिंग कुछ भी हों.

पहले से मालूम समस्याएं

ऐसा हो सकता है कि कुछ डिवाइस, डिवाइस मिररिंग की सुविधा के लिए ज़रूरी बिटरेट पर वीडियो को कोड में न बदल पाएं. इन स्थितियों में, आपको चल रहे डिवाइस विंडो में गड़बड़ी दिख सकती है. साथ ही, आपको यहां दिए गए लॉग की तरह लॉग भी दिख सकते हैं.

2023-06-01 15:32:22,675 [  56094]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - Too many video encoder errors:
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - encoder: c2.android.vp8.encoder
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - mime type: video/x-vnd.on2.vp8
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max resolution: 640x640
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - min resolution: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - alignment: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate: 960
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate for 288x640: 960
2023-06-01 15:32:22,870 [  56289]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max bitrate: 20000000
2023-06-01 15:32:22,871 [  56290]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - terminated with code 1

निजता नोटिस

डिवाइस मिरर करने की सेटिंग के आधार पर, Android Studio कनेक्ट किए गए और पेयर किए गए किसी भी डिवाइस के लिए, डिवाइस मिरर करने की सुविधा अपने-आप शुरू कर सकता है. इससे adb tcpip कमांड से कनेक्ट किए गए डिवाइसों की जानकारी ज़ाहिर हो सकती है. ऐसा इसलिए, क्योंकि मिररिंग की जानकारी और कमांड, बिना एन्क्रिप्ट (सुरक्षित) किए गए चैनल पर पास की जाती हैं. इसके अलावा, Android Studio, adb सर्वर से कम्यूनिकेट करने के लिए बिना एन्क्रिप्ट (सुरक्षित) किए गए चैनल का इस्तेमाल करता है. इसलिए, मिररिंग की जानकारी को आपकी होस्ट मशीन पर मौजूद अन्य लोग इंटरसेप्ट कर सकते हैं.

डिवाइस कनेक्शन से जुड़ी समस्या हल करना

अगर आपका डिवाइस Android Studio से कनेक्ट नहीं हो रहा है, तो इस समस्या को हल करने के लिए यह तरीका आज़माएं:

Connection Assistant की मदद से समस्या हल करना

Connection Assistant, ADB कनेक्शन पर किसी डिवाइस को सेट अप करने और उसका इस्तेमाल करने के बारे में सिलसिलेवार निर्देश देती है.

असिस्टेंट को शुरू करने के लिए, टूल > डिवाइस कनेक्शन से जुड़ी समस्या हल करें को चुनें.

कनेक्शन असिस्टेंट, Assistant पैनल के कई पेजों में निर्देश, कॉन्टेक्स्ट के हिसाब से कंट्रोल, और कनेक्ट किए गए डिवाइसों की सूची दिखाती है. ज़रूरत के हिसाब से पेजों पर जाने के लिए, Assistant पैनल में सबसे नीचे मौजूद आगे बढ़ें और पिछला बटन का इस्तेमाल करें:

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

यूएसबी कनेक्शन से जुड़ी समस्याएं हल करना

अगर Connection Assistant को यूएसबी केबल से कनेक्ट किया गया डिवाइस नहीं मिल रहा है, तो इस समस्या को हल करने के लिए, समस्या हल करने के ये तरीके आज़माएँ:

देखें कि Android Studio, Android Emulator से कनेक्ट हो रहा है या नहीं

यह देखने के लिए कि क्या Android Studio और Android Emulator के बीच कनेक्शन की समस्या की वजह से यह समस्या हो रही है, यह तरीका अपनाएं:

  1. डिवाइस मैनेजर खोलें.
  2. अगर आपके पास पहले से कोई एवीडी नहीं है, तो एक नया एवीडी बनाएं.
  3. अपने एवीडी का इस्तेमाल करके, एम्युलेटर चलाएं.
  4. इनमें से कोई एक काम करें:
    • अगर Android Studio, एम्युलेटर से कनेक्ट नहीं हो पा रहा है, तो एसडीके प्लैटफ़ॉर्म टूल का नया वर्शन डाउनलोड करें. इसके बाद, फिर से कोशिश करें.
    • अगर एम्युलेटर सही तरीके से शुरू हो जाता है, तो नीचे दिए गए सेक्शन में बताए गए तरीके से यूएसबी केबल की जांच करें.

यूएसबी केबल की जांच करना

अगर आपको यह जांच करनी है कि यूएसबी केबल में गड़बड़ी की वजह से समस्या हो रही है या नहीं, तो इस सेक्शन में दिया गया तरीका अपनाएं.

अगर आपके पास कोई दूसरा यूएसबी केबल है, तो:

  1. डिवाइस को दूसरी केबल से कनेक्ट करें.
  2. देखें कि Connection Assistant अब डिवाइस का पता लगा पा रही है या नहीं.
  3. अगर डिवाइस का पता नहीं चलता है, तो मुख्य केबल को फिर से इस्तेमाल करें.
  4. अगर अब भी डिवाइस का पता नहीं चलता है, तो मान लें कि समस्या डिवाइस में है. इसके बाद, देखें कि डिवाइस को डेवलपमेंट के लिए सेट अप किया गया है या नहीं. इसके बारे में यहां बताया गया है.

अगर आपके पास कोई दूसरी यूएसबी केबल नहीं है, लेकिन आपके पास कोई दूसरा Android डिवाइस है, तो:

  1. दूसरे डिवाइस को अपने कंप्यूटर से कनेक्ट करें.
  2. अगर Connection Assistant को सेकंडरी डिवाइस का पता चल जाता है, तो मान लें कि समस्या प्राइमरी डिवाइस में है. इसके बाद, देखें कि डिवाइस को डेवलपमेंट के लिए सेट अप किया गया है या नहीं.

    अगर सेकंडरी डिवाइस का पता नहीं चलता है, तो हो सकता है कि यूएसबी केबल में कोई समस्या हो.

देखें कि डिवाइस को डेवलपमेंट के लिए सेट अप किया गया है या नहीं

यह देखने के लिए कि क्या डिवाइस की सेटिंग की वजह से समस्या आ रही है, यह तरीका अपनाएं:

  1. डेवलपमेंट के लिए डिवाइस सेट अप करना सेक्शन में दिया गया तरीका अपनाएं.
  2. अगर इससे समस्या हल नहीं होती है, तो डिवाइस के ओईएम की ग्राहक सहायता टीम से संपर्क करें. ग्राहक सहायता प्रतिनिधि को बताएं कि डिवाइस, ADB का इस्तेमाल करके Android Studio से कनेक्ट नहीं हो रहा है.

वायरलेस कनेक्शन से जुड़ी समस्याएं हल करना

अगर आपको अपने डिवाइस को वायरलेस तरीके से कनेक्ट करने में समस्याएं आ रही हैं, तो समस्या हल करने के लिए यह तरीका आज़माएं:

देखें कि आपका वर्कस्टेशन और डिवाइस, ज़रूरी शर्तें पूरी करता हो

देखें कि वर्कस्टेशन और डिवाइस, ज़रूरी शर्तें पूरी करते हों.

एडीबी से जुड़ी समस्या हल करने की गाइड देखें

adb से जुड़ी समस्या हल करने की गाइड देखें.

आरएसए सुरक्षा कुंजी

Android 4.2.2 (एपीआई लेवल 17) या उसके बाद के वर्शन वाले डिवाइस को कंप्यूटर से कनेक्ट करने पर, सिस्टम एक डायलॉग दिखाता है. इसमें पूछा जाता है कि क्या आपको आरएसए कुंजी स्वीकार करनी है. इससे इस कंप्यूटर के ज़रिए डीबग करने की अनुमति मिलती है. सुरक्षा से जुड़ी यह सुविधा, उपयोगकर्ता के डिवाइसों को सुरक्षित रखती है. ऐसा इसलिए, क्योंकि यूएसबी डीबगिंग और अन्य adb कमांड तब तक नहीं चलाई जा सकतीं, जब तक डिवाइस को अनलॉक न कर लिया जाए और डायलॉग बॉक्स में पुष्टि न कर दी जाए.