Android पर, कई तरह के यूएसबी पेरिफ़ेरल और Android यूएसबी ऐक्सेसरी (Android ऐक्सेसरी प्रोटोकॉल लागू करने वाला हार्डवेयर) काम करती हैं. इसके लिए, दो मोड इस्तेमाल किए जाते हैं: यूएसबी ऐक्सेसरी और यूएसबी होस्ट. यूएसबी ऐक्सेसरी मोड में, बाहरी यूएसबी हार्डवेयर, यूएसबी होस्ट के तौर पर काम करता है. ऐक्सेसरी के उदाहरणों में ये चीज़ें शामिल हो सकती हैं:
- रोबोटिक्स कंट्रोलर
- डॉकिंग स्टेशन
- डाइग्नोस्टिक और संगीत के उपकरण
- कीऑस्क
- कार्ड रीडर
इसके अलावा, और भी कई सुविधाएं उपलब्ध हैं. इससे Android पर काम करने वाले उन डिवाइसों को यूएसबी हार्डवेयर के साथ इंटरैक्ट करने की सुविधा मिलती है जिनमें होस्ट करने की सुविधा नहीं होती. Android यूएसबी ऐक्सेसरी को Android डिवाइसों के साथ काम करने के लिए डिज़ाइन किया जाना चाहिए. साथ ही, उन्हें Android ऐक्सेसरी कम्यूनिकेशन प्रोटोकॉल का पालन करना चाहिए. यूएसबी होस्ट मोड में, Android डिवाइस होस्ट के तौर पर काम करता है. डिवाइसों के उदाहरणों में डिजिटल कैमरे, कीबोर्ड, माउस, और गेम कंट्रोलर शामिल हैं. यूएसबी डिवाइसों को अलग-अलग ऐप्लिकेशन और एनवायरमेंट के लिए डिज़ाइन किया जाता है. ये अब भी Android ऐप्लिकेशन के साथ इंटरैक्ट कर सकते हैं. हालांकि, इसके लिए ज़रूरी है कि ये ऐप्लिकेशन, डिवाइस के साथ सही तरीके से कम्यूनिकेट कर पाएं.
पहली इमेज में, दोनों मोड के बीच के अंतर को दिखाया गया है. Android डिवाइस को होस्ट मोड में सेट करने पर, यह यूएसबी होस्ट के तौर पर काम करता है और बस को पावर देता है. जब Android डिवाइस, यूएसबी ऐक्सेसरी मोड में होता है, तब कनेक्ट किया गया यूएसबी हार्डवेयर (इस मामले में, Android यूएसबी ऐक्सेसरी) होस्ट के तौर पर काम करता है और बस को पावर देता है.
पहली इमेज. यूएसबी होस्ट और ऐक्सेसरी मोड
यूएसबी ऐक्सेसरी और होस्ट मोड, Android 3.1 (एपीआई लेवल 12) या उसके बाद के वर्शन वाले प्लैटफ़ॉर्म पर सीधे तौर पर काम करते हैं. यूएसबी ऐक्सेसरी मोड को Android 2.3.4 (एपीआई लेवल 10) में भी बैकपोर्ट किया गया है. इसे ऐड-ऑन लाइब्रेरी के तौर पर इस्तेमाल किया जा सकता है, ताकि ज़्यादा डिवाइसों पर इसका इस्तेमाल किया जा सके. डिवाइस बनाने वाली कंपनियां यह तय कर सकती हैं कि उन्हें डिवाइस की सिस्टम इमेज में ऐड-ऑन लाइब्रेरी को शामिल करना है या नहीं.
ध्यान दें: यूएसबी होस्ट और ऐक्सेसरी मोड के लिए सहायता, प्लैटफ़ॉर्म लेवल के बजाय डिवाइस के हार्डवेयर पर निर्भर करती है. <uses-feature>
एलिमेंट का इस्तेमाल करके, उन डिवाइसों को फ़िल्टर किया जा सकता है जिन पर यूएसबी होस्ट और ऐक्सेसरी काम करती हैं.
ज़्यादा जानकारी के लिए, यूएसबी ऐक्सेसरी और होस्ट के दस्तावेज़ देखें.
डीबग करने से जुड़ी बातें
यूएसबी ऐक्सेसरी या होस्ट की सुविधाओं का इस्तेमाल करने वाले ऐप्लिकेशन को डीबग करते समय, आपके Android डिवाइस से यूएसबी हार्डवेयर कनेक्ट होना चाहिए. इससे, यूएसबी का इस्तेमाल करके Android डिवाइस से adb
कनेक्ट नहीं किया जा सकेगा. हालांकि, नेटवर्क कनेक्शन के ज़रिए अब भी adb
को ऐक्सेस किया जा सकता है. नेटवर्क कनेक्शन पर adb
को चालू करने के लिए:
- Android डिवाइस को यूएसबी केबल से कंप्यूटर से कनेक्ट करें.
- अपने एसडीके
platform-tools/
डायरेक्ट्री में, कमांड प्रॉम्प्ट परadb tcpip 5555
डालें. adb connect <device-ip-address>:5555
डालें. अब आपको Android डिवाइस से कनेक्ट कर दिया जाएगा. इसके बाद,adb
कमांड का इस्तेमाल किया जा सकता है. जैसे,adb logcat
.- अपने डिवाइस पर यूएसबी से सुनने की सुविधा चालू करने के लिए,
adb usb
डालें.