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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    वाई-फ़ाई से डिवाइस जोड़ें डायलॉग बॉक्स दिखेगा, जैसा कि दूसरी इमेज में दिखाया गया है.
    वाई-फ़ाई से डिवाइसों को जोड़ने के लिए पॉप-अप विंडो का स्क्रीनशॉट
    दूसरी इमेज. क्यूआर कोड या डिवाइस जोड़ने वाले कोड का इस्तेमाल करके, डिवाइसों को जोड़ने के लिए डायलॉग.
  2. अपने डिवाइस पर डेवलपर के विकल्प चालू करें.
  3. अपने डिवाइस पर, वाई-फ़ाई से डीबग करने की सुविधा चालू करें.
    Pixel फ़ोन का स्क्रीनशॉट, जिसमें वायरलेस डिबगिंग
      सिस्टम की सेटिंग दिख रही है.
    तीसरी इमेज. Google Pixel फ़ोन पर, वायरलेस डीबगिंग की सेटिंग.
  4. वायरलेस डीबगिंग पर टैप करें और अपने डिवाइस को जोड़ें:
    1. अपने डिवाइस को क्यूआर कोड से जोड़ने के लिए, क्यूआर कोड की मदद से डिवाइस जोड़ें को चुनें और दूसरे चित्र में दिखाए गए क्यूआर कोड को स्कैन करें.
    2. जोड़ने के कोड की मदद से अपने डिवाइस को जोड़ने के लिए, वाई-फ़ाई से नए डिवाइस जोड़ें डायलॉग बॉक्स में जाकर, जोड़ने के कोड की मदद से डिवाइस जोड़ें को चुनें. अपने डिवाइस पर, जोड़ने के कोड का इस्तेमाल करके जोड़ें को चुनें. आपको छह अंकों वाला एक कोड दिखेगा. जब आपका डिवाइस वाई-फ़ाई से डिवाइसों को जोड़ें विंडो में दिखने लगे, तो अपने डिवाइस पर दिखने वाला छह अंकों का कोड डालें और जोड़ें को चुनें .
      जोड़ने के कोड डालने के उदाहरण का स्क्रीनशॉट
      चौथी इमेज. छह अंकों वाले जोड़ने के कोड की एंट्री का उदाहरण.
  5. डिवाइस से जोड़ने के बाद, अपने ऐप्लिकेशन को डिवाइस पर डिप्लॉय किया जा सकता है.

किसी दूसरे डिवाइस को जोड़ने या अपने वर्कस्टेशन से इस डिवाइस को हटाने के लिए:

  1. अपने डिवाइस पर, वायरलेस डीबगिंग पर जाएं.
  2. जोड़े गए डिवाइस में जाकर, अपने वर्कस्टेशन के नाम पर टैप करें.
  3. भूल जाएं को चुनें.

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

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

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

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

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

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

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

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

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 से कनेक्ट नहीं हो रहा है, तो समस्या को हल करने के लिए यह तरीका आज़माएं:

कनेक्शन असिस्टेंट की मदद से समस्या हल करना

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

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

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

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

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

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

देखें कि Android Studio, Android एमुलेटर से कनेक्ट हो

यह पता करने के लिए कि समस्या, Android Studio और Android इम्यूलेटर के बीच कनेक्शन से जुड़ी है या नहीं, यह तरीका अपनाएं:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

वॉयरलेस डीबगिंग की ज़रूरी शर्तें पूरी करने के लिए, पक्का करें कि:

आम तौर पर होने वाली अन्य समस्याओं की जांच करना

Android Studio में वायरलेस डीबगिंग से जुड़ी मौजूदा समस्याओं और उन्हें ठीक करने के तरीकों की सूची यहां दी गई है:

  • वाई-फ़ाई कनेक्ट नहीं हो रहा है: कुछ वाई-फ़ाई नेटवर्क, जैसे कि कॉर्पोरेट वाई-फ़ाई नेटवर्क, पी2पी कनेक्शन को ब्लॉक कर सकते हैं. साथ ही, आपको वाई-फ़ाई से कनेक्ट करने की अनुमति नहीं दे सकते. केबल या किसी दूसरे वाई-फ़ाई नेटवर्क से कनेक्ट करके देखें.
  • वाई-फ़ाई के ज़रिए ADB कभी-कभी अपने-आप बंद हो जाता है: ऐसा तब हो सकता है, जब डिवाइस वाई-फ़ाई नेटवर्क स्विच कर दे या नेटवर्क से डिसकनेक्ट हो जाए.

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

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