ADB और Android ऐप्लिकेशन की टेस्टिंग

Chromebook पर Android ऐप्लिकेशन चलाने की सुविधा बहुत अच्छी है. इससे उपयोगकर्ताओं को Android के बड़े प्लैटफ़ॉर्म पर उपलब्ध ऑफ़रिंग का ऐक्सेस मिलता है. साथ ही, Android डेवलपर को ChromeOS उपयोगकर्ताओं तक पहुंचने का मौका मिलता है.

डेवलपर को अलग-अलग डिवाइसों पर अपने ऐप्लिकेशन की पुष्टि करनी चाहिए. इससे, उपयोगकर्ताओं को बेहतर अनुभव मिलेगा. इसलिए, ChromeOS, Android डेवलपर को Chromebook पर अपने ऐप्लिकेशन डिप्लॉय और टेस्ट करने के लिए टूल उपलब्ध कराता है.

डेवलपर, अपने Android ऐप्लिकेशन को सीधे ChromeOS से डिप्लॉय कर सकते हैं. इसके लिए, उन्हें अपने Chromebook में Android Studio का इस्तेमाल करना होगा. इसके अलावा, वे किसी दूसरे डिवाइस से भी ऐसा कर सकते हैं. डेवलपर, अपने ऐप्लिकेशन डिप्लॉय करने के लिए ADB का इस्तेमाल कर सकते हैं. साथ ही, Chromebook के साथ अलग-अलग इंटरैक्शन को डीबग कर सकते हैं. ज़्यादा जानकारी के लिए, यहां दिया गया तरीका देखें.

ADB डीबग करने की सुविधा चालू करना

पहले, Chromebook पर ADB का इस्तेमाल सिर्फ़ डेवलपर मोड में किया जा सकता था. इसके लिए, डिवाइस को पावरवॉश (रीसेट) करना पड़ता था. इससे सुरक्षा कम हो सकती है. अच्छी बात यह है कि Chrome 81 के बाद से, डेवलपर अपने डिवाइसों को डेवलपर मोड से बाहर रख सकते हैं. इसके बावजूद, वे ChromeOS में सीधे तौर पर अपने बनाए गए ऐप्लिकेशन डिप्लॉय कर सकते हैं. इसके लिए, उन्हें सिर्फ़ एक स्विच को टॉगल करना होगा. ऐसा करने का तरीका:

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

Linux चालू करना

Linux उपलब्ध होने के बाद, Linux की सेटिंग खोलें. आपको ‘Android ऐप्लिकेशन डेवलप करें’ नाम का एक नया विकल्प दिखेगा. इस विकल्प को खोलें.

ADB डीबग करने की सुविधा चालू करने के लिए टॉगल करें. इसके बाद, कंप्यूटर रीस्टार्ट हो जाएगा.

ADB डीबग करने की सुविधा चालू करना

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

इस डिवाइस में ऐसे ऐप्लिकेशन हो सकते हैं जिनकी Google ने पुष्टि नहीं की है

ADB की मदद से, अब Chromebook पर ऐप्लिकेशन डिप्लॉय किए जा सकते हैं. साथ ही, डीबग करने के लिए कमांड चलाई जा सकती हैं और डिवाइस से सीधे इंटरैक्ट किया जा सकता है.

यह पक्का करने के लिए कि आपका Android ऐप्लिकेशन, अलग-अलग तरह के Chromebook डिवाइसों और उपलब्ध फ़ॉर्म फ़ैक्टर पर ठीक से काम करे, Google का सुझाव है कि आप अपने ऐप्लिकेशन को इन डिवाइसों पर टेस्ट करें:

  • ARM पर आधारित Chromebook
  • x86 आर्किटेक्चर पर आधारित Chromebook
  • टचस्क्रीन वाला डिवाइस और बिना टचस्क्रीन वाला डिवाइस
  • कन्वर्टिबल डिवाइस; यानी कि ऐसा डिवाइस जिसे लैपटॉप और टैबलेट के तौर पर इस्तेमाल किया जा सकता है
  • स्टाइलस वाला डिवाइस

ChromeOS से डिप्लॉय करना

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

Android Studio की मदद से डिप्लॉय करना

ऊपर बताए गए तरीके से Android Studio और ADB सेट अप करने के बाद, अपने ऐप्लिकेशन को सीधे Android Studio से Chromebook के Android कंटेनर में पुश किया जा सकता है.

Chromebook, डिवाइस के ड्रॉप-डाउन मेन्यू में एक विकल्प के तौर पर दिखेगा:

Android Studio में डिवाइसों का ड्रॉपडाउन

अब अपने ऐप्लिकेशन को किसी भी अन्य Android डिवाइस की तरह पुश किया जा सकता है! किसी नए डिवाइस पर पहली बार पुश करने की कोशिश करने पर, ADB ऑथराइज़ेशन डायलॉग दिखता है. अनुमति देने के बाद, आपका ऐप्लिकेशन एक नई विंडो में लॉन्च होगा.

Android Studio में ADB की मदद से डिवाइस से कनेक्ट करना

बस इतना ही करना है. अब ऐप्लिकेशन को Chromebook पर डिप्लॉय किया जा सकता है. साथ ही, डेवलपर मोड में बिना किसी परेशानी के, ऐप्लिकेशन की जांच की जा सकती है और उसे डीबग किया जा सकता है.

टर्मिनल की मदद से डिप्लॉय करना

अगर ज़रूरी हो, तो ADB इंस्टॉल करें:

sudo apt install adb

डिवाइस से कनेक्ट करें:

adb connect arc

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

डिवाइस से कनेक्ट करने की अनुमति

टर्मिनल से अपना ऐप्लिकेशन इंस्टॉल करें:

adb install [path to your APK]

टर्मिनल से अपना ऐप्लिकेशन इंस्टॉल करना

किसी दूसरे डिवाइस से ऐप्लिकेशन को डिप्लॉय करना

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

नेटवर्क के ज़रिए ADB से कनेक्ट करना

  1. पक्का करें कि आपने ADB डीबग करने की सुविधा चालू की हो.

अपने Chromebook का आईपी पता पाने के लिए:

  1. स्क्रीन के सबसे नीचे दाईं ओर मौजूद घड़ी पर क्लिक करें.

  2. गियर आइकन पर क्लिक करें.

  3. उस नेटवर्क टाइप पर क्लिक करें जिससे आपका डिवाइस कनेक्ट है (वाई-फ़ाई या मोबाइल डेटा). इसके बाद, नेटवर्क के नाम पर क्लिक करें.

  4. आईपी पते को नोट करें.

अपने Chromebook से कनेक्ट करें:

  1. अपनी डेवलपमेंट मशीन पर वापस जाएं और ADB का इस्तेमाल करके, अपने Chromebook से कनेक्ट करें. इसके लिए, Chromebook के आईपी पते का इस्तेमाल करें:

    adb connect 
  2. Chromebook पर, जब आपसे पूछा जाए कि आपको डीबगर को अनुमति देनी है या नहीं, तो 'अनुमति दें' पर क्लिक करें. आपका ADB सेशन शुरू हो गया है.

नेटवर्क पर ADB डीबग करने से जुड़ी समस्या हल करना

कभी-कभी, ADB डिवाइस यह दिखाता है कि वह ऑफ़लाइन है. हालांकि, सभी डिवाइस ठीक से कनेक्ट होते हैं. इस मामले में, समस्या को हल करने के लिए यह तरीका अपनाएं:

  1. डेवलपर के लिए सेटिंग और टूल में जाकर, ADB डीबग करने की सुविधा बंद करें.
  2. टर्मिनल विंडो में, adb kill-server चलाएं.
  3. ADB डीबग करने की सुविधा विकल्प को फिर से चालू करें.
  4. टर्मिनल विंडो में, adb connect चलाने की कोशिश करें.
  5. जब आपसे पूछा जाए कि क्या आपको डीबग करने की अनुमति देनी है, तब अनुमति दें पर क्लिक करें. आपका ADB सेशन शुरू हो गया है.

यूएसबी के ज़रिए ADB से कनेक्ट करना

किसी दूसरे डिवाइस से यूएसबी के ज़रिए Chromebook में अपना APK भेजने के लिए, आपको ChromeOS को डेवलपर मोड में शुरू करना होगा. इससे Chromebook को कॉन्फ़िगर किया जा सकेगा और होस्ट मशीन से ऐप्लिकेशन भेजे जा सकेंगे. फ़िलहाल, सिर्फ़ इस तरीके के लिए डेवलपर मोड की ज़रूरत होती है. साथ ही, यह सिर्फ़ कुछ डिवाइसों पर काम करता है. इसलिए, हमारा सुझाव है कि नेटवर्क पर ADB का इस्तेमाल करें. अगर आपको अब भी आगे बढ़ना है, तो डेवलपर मोड में जाने के लिए यह तरीका अपनाएं.

  1. पक्का करें कि आपने ADB डीबग करने की सुविधा चालू की हो.
  2. यह पता लगाना कि आपके डिवाइस पर यूएसबी डीबगिंग की सुविधा काम करती है या नहीं
  3. ChromeOS टर्मिनल शुरू करने के लिए, control+alt+t दबाएं.
  4. बैश कमांड शेल पर जाने के लिए, shell टाइप करें:
    crosh> shell
    chronos@localhost / $
  5. अपने डिवाइस को सेट अप करने के लिए, ये कमांड टाइप करें:
    $ sudo crossystem dev_enable_udc=1
    $ sudo reboot
  6. रीबूट करने के बाद, टर्मिनल को फिर से खोलें और Chromebook के यूएसबी पोर्ट पर ADB को चालू करने के लिए, यह कमांड चलाएं:
    $ sudo ectool usbpd  dr_swap

यूएसबी केबल को डिसकनेक्ट और फिर से कनेक्ट करने पर, इस कमांड का इस्तेमाल करें. यह पक्का करने के लिए कि आपका Chromebook, यूएफ़पी मोड में है, ectool usbpd चलाएं.

  1. अपने डिवाइस के साथ काम करने वाले पोर्ट में यूएसबी केबल प्लग इन करें
  2. अपनी होस्ट मशीन पर, Android SDK प्लैटफ़ॉर्म टूल से adb devices चलाएं. इससे आपको यह पता चलेगा कि आपका Chromebook, ADB के साथ काम करने वाले डिवाइस के तौर पर सूची में शामिल है या नहीं
  3. Chromebook पर, जब आपसे पूछा जाए कि आपको डीबगर को अनुमति देनी है या नहीं, तब अनुमति दें पर क्लिक करें. आपका ADB सेशन शुरू हो गया है.