अपने Android ऐप्लिकेशन को उपयोगकर्ताओं के लिए रिलीज़ करने से पहले, उसे हमेशा किसी असली डिवाइस पर टेस्ट करें. इस पेज पर, Android डीबग ब्रिज (एडीबी) कनेक्शन की मदद से, टेस्टिंग और डीबग करने के लिए, डेवलपमेंट एनवायरमेंट और Android डिवाइस को सेट अप करने का तरीका बताया गया है.
डेवलपमेंट के लिए डिवाइस सेट अप करना
अपने डिवाइस पर डीबग करने से पहले, यह तय करें कि आपको डिवाइस से कनेक्ट करने के लिए, यूएसबी केबल का इस्तेमाल करना है या वाई-फ़ाई का. इसके बाद, ये कार्रवाइयां करें:
डिवाइस पर, सेटिंग ऐप्लिकेशन खोलें. इसके बाद, डेवलपर के लिए सेटिंग और टूल को चुनें. इसके बाद, यूएसबी के ज़रिए डीबग करना को चालू करें (अगर लागू हो).
अपने डिवाइस का पता लगाने के लिए, सिस्टम को सेट अप करें.
- ChromeOS: इसके लिए, किसी और कॉन्फ़िगरेशन की ज़रूरत नहीं होती है.
- macOS: किसी अतिरिक्त कॉन्फ़िगरेशन की ज़रूरत नहीं है.
- Windows: अगर लागू हो, तो एडीबी के लिए यूएसबी ड्राइवर इंस्टॉल करें. इंस्टॉल करने का तरीका बताने वाली गाइड और ओईएम ड्राइवर के लिंक के लिए, ओईएम यूएसबी ड्राइवर इंस्टॉल करना लेख पढ़ें.
Ubuntu Linux: ये सेट अप करें:
- एडीबी का इस्तेमाल करने वाले हर उपयोगकर्ता को
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 में Run
पर क्लिक करें. इससे डिवाइस पर ऐप्लिकेशन को बनाया और चलाया जा सकेगा.
निर्देश देने के लिए, adb का भी इस्तेमाल किया जा सकता है. इसके लिए, यह तरीका अपनाएं:
- अपनी
android_sdk/platform-tools/डायरेक्ट्री सेadb devicesकमांड चलाकर, पुष्टि करें कि आपका डिवाइस कनेक्ट है. अगर डिवाइस कनेक्ट है, तो आपको सूची में उसका नाम दिखेगा. - अपने डिवाइस को टारगेट करने के लिए,
-dफ़्लैग के साथ कोई भीadbनिर्देश दें.
वाई-फ़ाई का इस्तेमाल करके अपने डिवाइस से कनेक्ट करना
Android 11 और इसके बाद के वर्शन में, Android डीबग ब्रिज (एडीबी) का इस्तेमाल करके, अपने वर्कस्टेशन से ऐप्लिकेशन को वायरलेस तरीके से डिप्लॉय और डीबग किया जा सकता है. उदाहरण के लिए, डीबग करने लायक ऐप्लिकेशन को कई रिमोट डिवाइसों पर डिप्लॉय किया जा सकता है. इसके लिए, आपको यूएसबी का इस्तेमाल करके अपने डिवाइस को कनेक्ट करने की ज़रूरत नहीं है. साथ ही, आपको यूएसबी कनेक्शन से जुड़ी आम समस्याओं, जैसे कि ड्राइवर इंस्टॉल करने की समस्या का सामना नहीं करना पड़ेगा.
Android 17 और adb 37.0.0 के साथ, adb Wi-Fi 2.0 को लॉन्च किया गया है. इससे पिछले वर्शन में इस्तेमाल से जुड़ी कई समस्याएं हल हो जाती हैं. ध्यान दें कि जब डिवाइस, वायरलेस डीबगिंग के लिए भरोसेमंद नेटवर्क से कनेक्ट होगा, तो वह वर्कस्टेशन से अपने-आप कनेक्ट हो जाएगा.
वायरलेस डीबगिंग का इस्तेमाल करने के लिए, आपको जोड़ने के लिए कोड का इस्तेमाल करके, अपने डिवाइस को वर्कस्टेशन से जोड़ना होगा. शुरू करने के लिए, यह तरीका अपनाएं:
- पक्का करें कि आपका वर्कस्टेशन और डिवाइस, एक ही वायरलेस नेटवर्क से कनेक्ट हों.
- पक्का करें कि आपका डिवाइस, Android 11 या इसके बाद के वर्शन पर चल रहा हो. ज़्यादा जानकारी के लिए, अपने डिवाइस का Android वर्शन देखना और उसे अपडेट करना लेख पढ़ें.
- पक्का करें कि आपके पास Android Studio का नया वर्शन इंस्टॉल हो. इसे यहां से डाउनलोड करें.
- अपने वर्कस्टेशन पर, SDK Platform Tools को नए वर्शन पर अपडेट करें.
अपने डिवाइस से जोड़ने के लिए, यह तरीका अपनाएं:
- अपने डिवाइस पर डेवलपर के लिए सेटिंग और टूल चालू करें.
अपने डिवाइस पर, वायरलेस डीबगिंग पर टैप करें.
पहली इमेज. वायरलेस डीबगिंग की सुविधा चालू करने के लिए, Google Pixel फ़ोन पर दिखने वाला प्रॉम्प्ट. अपने नेटवर्क पर वायरलेस डीबगिंग की अनुमति दें. ध्यान दें कि इस नेटवर्क पर हमेशा अनुमति दें चेकबॉक्स पर क्लिक करने से, नेटवर्क को वायरलेस डीबगिंग के लिए भरोसेमंद नेटवर्क बना दिया जाता है. आपका डिवाइस इस नेटवर्क से कनेक्ट होते ही, इस नेटवर्क पर वायरलेस डीबगिंग की अनुमति हमेशा देगा.
दूसरी इमेज. वायरलेस डीबगिंग सेटिंग, Google Pixel फ़ोन पर मौजूद होती है. Android Studio खोलें और रन कॉन्फ़िगरेशन मेन्यू में जाकर, वाई-फ़ाई का इस्तेमाल करके डिवाइसों को जोड़ें को चुनें.
तीसरी इमेज. रन कॉन्फ़िगरेशन मेन्यू.
डिवाइसों को वाई-फ़ाई से जोड़ें डायलॉग दिखता है, जैसा कि चौथी इमेज में दिखाया गया है.
चौथी इमेज. वाई-फ़ाई की मदद से डिवाइसों को जोड़ने के लिए डायलॉग बॉक्स. इसके अलावा, डिवाइस मैनेजर से भी डिवाइस को जोड़ा जा सकता है. उदाहरण के लिए,
My Pixel.
पांचवीं इमेज. डिवाइस मैनेजर में, वाई-फ़ाई से जोड़ने के लिए उपलब्ध डिवाइस.
जिस डिवाइस को जोड़ना है उस पर
Pairपर क्लिक करें. आपको डिवाइस से जोड़ने वाला डायलॉग दिखेगा.- अपने डिवाइस को क्यूआर कोड से जोड़ने के लिए, डिवाइस को क्यूआर कोड से जोड़ें को चुनें और क्यूआर कोड स्कैन करें.
छठी इमेज. क्यूआर कोड का इस्तेमाल करके, डिवाइस को जोड़ने के लिए डायलॉग बॉक्स. - जोड़ने के लिए कोड का इस्तेमाल करके अपने डिवाइस को जोड़ने के लिए, वाई-फ़ाई की मदद से नए डिवाइस जोड़ें डायलॉग बॉक्स में जाकर, जोड़ने के लिए कोड का इस्तेमाल करके डिवाइस जोड़ें को चुनें. अपने डिवाइस पर, जोड़ने के लिए कोड का इस्तेमाल करके जोड़ें को चुनें. आपको छह अंकों का एक कोड दिखेगा.
जब आपका डिवाइस वाई-फ़ाई की मदद से डिवाइसों को जोड़ें विंडो पर दिखने लगे, तब अपने डिवाइस पर दिख रहा छह अंकों का कोड डालें और जोड़ें को चुनें.
सातवीं इमेज. जोड़ने के लिए छह अंकों वाले कोड की एंट्री का उदाहरण.
- अपने डिवाइस को क्यूआर कोड से जोड़ने के लिए, डिवाइस को क्यूआर कोड से जोड़ें को चुनें और क्यूआर कोड स्कैन करें.
डिवाइस से जोड़ने के बाद, अपने ऐप्लिकेशन को डिवाइस पर डिप्लॉय करने की कोशिश की जा सकती है.
अपने वर्कस्टेशन को अनपेयर करने के लिए, अपने डिवाइस पर वायरलेस डीबगिंग पर जाएं. जोड़े गए डिवाइस में जाकर, अपने वर्कस्टेशन के नाम पर टैप करें. इसके बाद, हटाएं को चुनें. इसके अलावा, अपने डिवाइस के सेटिंग पेज पर जाकर, एडीबी डीबगिंग की अनुमतियां रद्द करें पर क्लिक करके, अपने वर्कस्टेशन और पहले से जोड़े गए अन्य सभी वर्कस्टेशन को अनपेयर किया जा सकता है.
डिवाइस की स्क्रीन शेयर करना
Android Studio में रनिंग डिवाइस विंडो में, अपने फ़िज़िकल डिवाइस को मिरर किया जा सकता है. अपने डिवाइस के डिसप्ले को सीधे Android Studio पर स्ट्रीम करके, Studio IDE का इस्तेमाल करके सामान्य कार्रवाइयां की जा सकती हैं. जैसे, ऐप्लिकेशन शुरू करना और उनसे इंटरैक्ट करना, स्क्रीन को घुमाना, फ़ोन को फ़ोल्ड और अनफ़ोल्ड करना, और आवाज़ कम या ज़्यादा करना.
डिवाइस मिररिंग की सुविधा हमेशा उपलब्ध रहती है. इसके लिए, कंप्यूटर से ऐसे डिवाइस कनेक्ट होने चाहिए जिनमें यूएसबी या वायरलेस डीबगिंग की सुविधा चालू हो. रनिंग डिवाइस विंडो या डिवाइस मैनेजर (देखें > टूल विंडो > डिवाइस मैनेजर) का इस्तेमाल करके, डिवाइस की स्क्रीन को मिरर करने की सुविधा को चालू और बंद किया जा सकता है. डिवाइस मिररिंग की सेटिंग (Settings > Tools > Device Mirroring) में जाकर, यह भी तय किया जा सकता है कि डिवाइस मिररिंग कब चालू हो.
ऑडियो रीडायरेक्ट करना
डिवाइस की स्क्रीन शेयर करने की सुविधा का इस्तेमाल करते समय, कनेक्ट किए गए फ़िज़िकल डिवाइसों से ऑडियो को अपने कंप्यूटर के स्पीकर या हेडफ़ोन पर रीडायरेक्ट किया जा सकता है. ऑडियो रीडायरेक्शन की सुविधा की मदद से, अपने हेडफ़ोन को कंप्यूटर से कनेक्ट रखें. साथ ही, कंप्यूटर और कनेक्ट किए गए फ़ोन, दोनों पर ऑडियो सुनें. इसके लिए, आपको एक डिवाइस से दूसरे डिवाइस पर मैन्युअल तरीके से फिर से कनेक्ट करने की ज़रूरत नहीं है. ऑडियो रीडायरेक्शन की सुविधा चालू करने के लिए, File (macOS पर Android Studio) > Settings > Tools > Device Mirroring पर जाएं और Redirect audio from local devices को चुनें. ध्यान दें कि 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 से कनेक्ट नहीं हो रहा है, तो समस्या को हल करने के लिए यह तरीका आज़माएं:
कनेक्शन असिस्टेंट की मदद से समस्या हल करना
कनेक्शन असिस्टेंट, एडीबी कनेक्शन पर डिवाइस को सेट अप करने और इस्तेमाल करने के लिए सिलसिलेवार निर्देश देता है.
असिस्टेंट को चालू करने के लिए, Tools > Troubleshoot Device Connections को चुनें.
कनेक्शन असिस्टेंट, असिस्टेंट पैनल में पेजों की सीरीज़ में निर्देश, कॉन्टेक्स्ट के हिसाब से कंट्रोल, और कनेक्ट किए गए डिवाइसों की सूची उपलब्ध कराता है. असिस्टेंट पैनल में सबसे नीचे मौजूद, आगे बढ़ें और पीछे जाएं बटन का इस्तेमाल करके, ज़रूरत के मुताबिक पेजों पर जाएं:
- अपने डिवाइस को यूएसबी से कनेक्ट करना: कनेक्शन असिस्टेंट सबसे पहले आपको अपने डिवाइस को यूएसबी से कनेक्ट करने के लिए कहता है. साथ ही, यूएसबी डिवाइसों को फिर से स्कैन करें बटन उपलब्ध कराता है. इस बटन पर क्लिक करके, कनेक्ट किए गए डिवाइसों को फिर से स्कैन किया जा सकता है.
- यूएसबी डीबगिंग चालू करें: इसके बाद, कनेक्शन असिस्टेंट आपको उपयोगकर्ता के डिवाइस पर मौजूद डेवलपर के लिए सेटिंग और टूल में जाकर, यूएसबी डीबगिंग चालू करने का तरीका बताता है.
- एडीबी सर्वर को रीस्टार्ट करें: अगर आपको अब भी उपलब्ध डिवाइसों की सूची में अपना डिवाइस नहीं दिख रहा है, तो कनेक्शन असिस्टेंट के आखिरी पेज पर मौजूद, एडीबी सर्वर को रीस्टार्ट करें बटन का इस्तेमाल करें. एडीबी सर्वर को रीस्टार्ट करने से, एडीबी डिवाइसों को फिर से स्कैन करता है. अगर आपको अब भी उपलब्ध डिवाइसों की सूची में अपना डिवाइस नहीं दिख रहा है, तो समस्या हल करने के लिए अगले सेक्शन में दिया गया तरीका आज़माएं.
यूएसबी कनेक्शन से जुड़ी समस्याएं हल करना
अगर कनेक्शन असिस्टेंट, यूएसबी से कनेक्ट किए गए आपके डिवाइस का पता नहीं लगा पाता है, तो समस्या को हल करने के लिए ये तरीके आज़माएं:
देखें कि Android Studio, Android Emulator से कनेक्ट हो
यह पता लगाने के लिए कि क्या समस्या Android Studio और Android Emulator के बीच कनेक्शन की वजह से हो रही है, यह तरीका अपनाएं:
- डिवाइस मैनेजर खोलें.
- अगर आपके पास पहले से कोई एवीडी नहीं है, तो एक नया एवीडी बनाएं.
- अपने एवीडी का इस्तेमाल करके, एम्युलेटर चलाएं.
- इनमें से कोई एक काम करें:
- अगर Android Studio, एम्युलेटर से कनेक्ट नहीं हो पा रहा है, तो एसडीके प्लैटफ़ॉर्म टूल का नया वर्शन डाउनलोड करें. इसके बाद, फिर से कोशिश करें.
- अगर एम्युलेटर सही तरीके से शुरू हो जाता है, तो यूएसबी केबल की जांच करें. इसके बारे में यहां बताया गया है.
यूएसबी केबल की जांच करना
यह पता लगाने के लिए कि समस्या किसी खराब यूएसबी केबल की वजह से हो रही है या नहीं, इस सेक्शन में दिया गया तरीका अपनाएं.
अगर आपके पास कोई दूसरी यूएसबी केबल है, तो:
- सेकंडरी केबल का इस्तेमाल करके डिवाइस को कनेक्ट करें.
- देखें कि कनेक्शन असिस्टेंट अब डिवाइस का पता लगा सकता है या नहीं.
- अगर डिवाइस का पता नहीं चलता है, तो मुख्य केबल को फिर से आज़माएं.
- अगर डिवाइस का पता अब भी नहीं चलता है, तो मान लें कि समस्या डिवाइस में है. इसके बाद, देखें कि डिवाइस को डेवलपमेंट के लिए सेट अप किया गया है या नहीं. इसके बारे में यहां दिए गए सेक्शन में बताया गया है.
अगर आपके पास कोई दूसरी यूएसबी केबल नहीं है, लेकिन आपके पास Android की सुविधा वाला कोई दूसरा डिवाइस है, तो:
- सेकंडरी डिवाइस को अपने कंप्यूटर से कनेक्ट करें.
अगर कनेक्शन असिस्टेंट, सेकंडरी डिवाइस का पता लगा सकता है, तो मान लें कि समस्या प्राइमरी डिवाइस में है. साथ ही, देखें कि डिवाइस को डेवलपमेंट के लिए सेट अप किया गया है या नहीं.
अगर सेकंडरी डिवाइस का पता नहीं चलता है, तो हो सकता है कि यूएसबी केबल में कोई समस्या हो.
देखें कि डिवाइस को डेवलपमेंट के लिए सेट अप किया गया है या नहीं
यह देखने के लिए कि समस्या डिवाइस की सेटिंग की वजह से हो रही है या नहीं, यह तरीका अपनाएं:
- डेवलपमेंट के लिए डिवाइस सेट अप करना सेक्शन में दिया गया तरीका अपनाएं.
- अगर इससे समस्या हल नहीं होती है, तो मदद पाने के लिए डिवाइस के ओईएम की ग्राहक सहायता टीम से संपर्क करें. ग्राहक सहायता प्रतिनिधि को बताएं कि डिवाइस, एडीबी का इस्तेमाल करके Android Studio से कनेक्ट नहीं हो रहा है.
वायरलेस कनेक्शन से जुड़ी समस्याएं हल करना
अगर आपको अपने डिवाइस को वायरलेस तरीके से कनेक्ट करने में समस्याएं आ रही हैं, तो समस्या को हल करने के लिए यहां दिया गया तरीका आज़माएं:
देखें कि आपका वर्कस्टेशन और डिवाइस, ज़रूरी शर्तें पूरी करता है या नहीं
देखें कि वर्कस्टेशन और डिवाइस, ज़रूरी शर्तें पूरी करते हों.
एडीबी से जुड़ी समस्या हल करने की गाइड देखें
एडीबी से जुड़ी समस्या हल करने की गाइड में दिए गए निर्देशों का पालन करें.
आरएसए सुरक्षा कुंजी
जब Android 4.2.2 (एपीआई लेवल 17) या इसके बाद के वर्शन वाले डिवाइस को कंप्यूटर से कनेक्ट किया जाता है, तो सिस्टम एक डायलॉग बॉक्स दिखाता है. इसमें पूछा जाता है कि क्या आपको आरएसए कुंजी स्वीकार करनी है. इस कुंजी की मदद से, इस कंप्यूटर से डीबग किया जा सकता है. सुरक्षा का यह तरीका, उपयोगकर्ता के डिवाइसों को सुरक्षित रखता है. ऐसा इसलिए, क्योंकि यूएसबी के ज़रिए डीबग करने और adb के अन्य निर्देशों को तब तक लागू नहीं किया जा सकता, जब तक डिवाइस को अनलॉक न किया जाए और डायलॉग बॉक्स को स्वीकार न किया जाए.