परिचय
Android Debug Bridge (adb) एक बहुमुखी कमांड-लाइन टूल है जो आपको किसी डिवाइस के साथ संचार करने देता है। ADB का उपयोग आमतौर पर स्मार्टफोन, टैबलेट, स्मार्टवॉच, सेट-टॉप बॉक्स, या किसी अन्य डिवाइस के साथ संचार के लिए किया जाता है जो Android ऑपरेटिंग सिस्टम चला सकता है। हम Android डिवाइस पर उन चीजों को कर सकते हैं जो रोजमर्रा के उपयोग के लिए उपयुक्त नहीं हो सकती हैं, जैसे Play Store के बाहर से ऐप्स इंस्टॉल करना, ऐप्स डीबग करना, छिपी हुई सुविधाओं तक पहुंचना, और UNIX शेल लाना, आदि।
सुरक्षा कारणों से, Developer Options को अनलॉक करने की आवश्यकता होती है और आपको USB Debugging Mode सक्षम करने की भी आवश्यकता होती है। इतना ही नहीं, बल्कि आपको USB केबल से जुड़े विशिष्ट PC के लिए USB Debugging एक्सेस को अधिकृत करने की भी आवश्यकता होती है। यह एक क्लाइंट-सर्वर प्रोग्राम है जिसमें तीन घटक शामिल हैं:
- एक क्लाइंट, जो कमांड भेजता है। क्लाइंट आपकी डेवलपमेंट मशीन पर चलता है। आप कमांड-लाइन टर्मिनल से
adbकमांड जारी करके क्लाइंट को इनवोक कर सकते हैं। - एक डेमन, जो डिवाइस पर कमांड चलाता है। डेमन प्रत्येक डिवाइस पर बैकग्राउंड प्रोसेस के रूप में चलता है।
- एक सर्वर, जो क्लाइंट और डेमन के बीच संचार का प्रबंधन करता है। सर्वर आपकी डेवलपमेंट मशीन पर बैकग्राउंड प्रोसेस के रूप में चलता है।
यह कैसे काम करता है
काली Linux टर्मिनल में adb क्लाइंट शुरू करने के बाद, क्लाइंट पहले पुष्टि करता है कि adb सर्वर प्रोसेस पहले से चल रहा है या नहीं। यदि नहीं है, तो यह सर्वर प्रोसेस शुरू करता है। जब सर्वर शुरू होता है, तो यह स्थानीय TCP पोर्ट 5037 से बांधता है और adb क्लाइंट्स से भेजे गए कमांड्स को सुनता है—सभी adb क्लाइंट्स adb सर्वर के साथ संवाद करने के लिए पोर्ट 5037 का उपयोग करते हैं। सर्वर फिर सभी चल रहे डिवाइसेज़ के साथ कनेक्शन सेट करता है। यह 5555 से 5585 की रेंज में विषम-संख्या वाले पोर्ट्स को स्कैन करके एमुलेटर्स का पता लगाता है, जो पहले 16 एमुलेटर्स द्वारा उपयोग की जाने वाली रेंज है। जहां सर्वर को adb डेमन मिलता है, यह उस पोर्ट से कनेक्शन सेट करता है।
नोट: USB पर जुड़े डिवाइस के साथ adb का उपयोग करने के लिए, आपको डिवाइस सिस्टम सेटिंग्स में USB debugging सक्षम करना होगा, Developer options के तहत। Developer options स्क्रीन डिफ़ॉल्ट रूप से छिपी होती है। इसे दृश्यमान बनाने के लिए, Settings > About phone पर जाएं और Build number पर सात बार टैप करें। पिछली स्क्रीन पर वापस जाएं और नीचे Developer options ढूंढें।
कनेक्शन
- Android डिवाइस में डेवलपर विकल्प सक्षम करने के बाद, इसे USB केबल से PC से कनेक्ट करें। हालांकि, हम Wi-Fi के माध्यम से भी कनेक्शन बना सकते हैं।
- Kali Linux में टर्मिनल खोलें
- Settings > About tablet (or About phone) > Status > IP address पर मिले डिवाइस के IP पते से कनेक्ट करें
:/> adb connect 'ip address'
- उसके बाद, निम्न कमांड द्वारा पुष्टि करें कि आपका होस्ट कंप्यूटर टारगेट डिवाइस से जुड़ा है; यह कनेक्टेड डिवाइसेज़ का सीरियल नंबर दिखाता है।
:/> adb devices
ADB कमांड्स
एक बार Android डिवाइस से कनेक्शन स्थापित हो जाने पर यूजर कई प्रकार के ऑपरेशन कर सकता है। यहां डिवाइस के साथ संवाद करने के लिए कमांड्स की सूची दी गई है:
| कमांड | टिप्पणी |
|---|---|
| adb devices | कनेक्टेड डिवाइसेज़ प्रिंट करता है |
| adb kill-server | adb सर्वर को मारता है |
| adb root | रूट एक्सेस प्राप्त करने के लिए |
| adb wait-for-devices | adb डिवाइसेज़ का इंतजार करता है |
| adb shell stop thermal-engine | सिस्टम सर्विस /system/bin/thermal-engine रोकता है |
| adb install | adb में एप्लिकेशन इंस्टॉल करता है |
| adb shell | शेल शुरू करता है |
| adb shell dumpsys | मेमोरी खपत विवरण दिखाता है |
| adb shell echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor | cpu1 स्केलिंग गवर्नर को परफॉरमेंस मोड में रखता है |
| adb pull | डिवाइस से फाइल या डायरेक्टरी कॉपी करता है |
| adb push | डिवाइस पर फाइल या डायरेक्टरी कॉपी करता है |
| adb forward tcp:6100 tcp:7100 | पोर्ट फॉरवर्डिंग |