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

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

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

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

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

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

    • ChromeOS: इसके लिए, किसी और कॉन्फ़िगरेशन की ज़रूरत नहीं होती है.
    • macOS: इसके लिए, किसी और कॉन्फ़िगरेशन की ज़रूरत नहीं होती है.
    • Windows: ADB के लिए, यूएसबी ड्राइवर इंस्टॉल करें. यह सुविधा, कुछ डिवाइसों पर ही उपलब्ध होती है. इंस्टॉल करने के तरीके के बारे में जानने और ओईएम ड्राइवर के लिंक पाने के लिए, ओईएम यूएसबी ड्राइवर इंस्टॉल करना लेख पढ़ें.
    • 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 प्लैटफ़ॉर्म टूल को नए वर्शन पर अपडेट करें.

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

  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 कनेक्शन के ज़रिए किसी डिवाइस को सेट अप और इस्तेमाल करने में आपकी मदद करने के लिए, चरण-दर-चरण निर्देश देता है.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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