डिवाइस पर USB डीबगिंग सक्षम करें
यह सेटिंग> डेवलपमेंट में किया जाता है । यदि आपके पास आपके सेटिंग मेनू में वह प्रविष्टि नहीं है, तो सेटिंग> अबाउट , "बिल्ड नंबर" पर स्क्रॉल करें, और इसे बंदर की तरह हथौड़ा करें जब तक कि आपका डिवाइस आपको डेवलपर बनने के लिए बधाई नहीं देता। सेटिंग्स मेनू के मुख्य पृष्ठ पर वापस जाएं , और नीचे के करीब आपको "विकास" (या "डेवलपर्स") सेटिंग्स अब देखना चाहिए। इसे दर्ज करें, और सक्षम करें यहां USB डीबगिंग करें।
डिवाइस को पहचानें
पहले हमें यह जानना होगा कि डिवाइस यूएसबी बस में कैसे पहचान करता है। उसके लिए, एंड्रॉइड डिवाइस कनेक्ट नहीं होने के साथ , एक शेल को पकड़ो और कमांड चलाएं lsusb
। फिर डिवाइस को कनेक्ट करें और फिर से कमांड चलाएं। नई लाइन हाजिर करें। के लिए Wileyfox स्विफ्ट यह एक "बेनाम डिवाइस" है:
Bus 004 Device 003: ID 2970:2282
एडीबी के लिए नियम स्थापित करना
अब हमें उपरोक्त पंक्ति के अंत में संख्याओं की आवश्यकता है 2970:2282
:। ये विक्रेता (2970) और डिवाइस को स्वयं (2282) निर्दिष्ट करते हैं। उन विवरणों को रखने के बाद, हमें फ़ाइल को संपादित करने (या बनाने के लिए, अगर यह अभी तक मौजूद नहीं है) फाइल के लिए हमारे लिनक्स मशीन पर एक रूट शेल की आवश्यकता है /etc/udev/rules.d/51-android.rules
। वहां, अपने डिवाइस के लिए एक पंक्ति जोड़ें। निम्न उदाहरण लाइन से पता चलता है कि यह कैसे विलेफ़ॉक्स स्विफ्ट के लिए दिखता है : it
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2970", ATTRS{idProduct}=="2282", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"
यदि आपके पास एक अलग उपकरण है, तो विक्रेता और उत्पाद आईडी को उसके स्थान पर रखें, जो आपने ऊपर दौड़ते समय पाया है lsusb
। लाइन का संक्षिप्त विवरण:
SUBSYSTEMS=="usb"
: जाहिर है कि यह नियम केवल USB के लिए है;)
ATTRS{idVendor}=="2970"
: इस नियम के लिए डिवाइस का वेंडर आईडी है
ATTRS{idProduct}=="2282"
: डिवाइस आईडी
MODE="0666"
: डिवाइस नोड को अनुमति मिल जाएगी। 0666
काफी लचर है, जो आपके सिस्टम पर हर उपयोगकर्ता को पढ़ने और लिखने की अनुमति देता है - इसलिए यदि आप चिंतित हैं, तो आप इसे बदलने की कोशिश कर सकते हैं 0660
(केवल स्वामी और समूह रीड-राइट दे रहे हैं, और दूसरों को सब कुछ अस्वीकार करते हैं)।
GROUP="androiddev"
: डिवाइस नोड किस समूह से संबंधित होना चाहिए। यह एक ऐसा समूह होना चाहिए, जिसका इरादा डिवाइस के साथ काम करने वाले उपयोगकर्ताओं का हो।
SYMLINK+="android%n"
: बस नोड को एक अच्छा नाम देना है, ताकि आप इसे आसानी से पा सकें /dev
(मेरे मामले में, यह बाद में वहां दिखा /dev/android5
)
उस नियम में प्रवेश किया /etc/udev/rules.d/51-android.rules
, हमें udev
इसका उपयोग करने के लिए कहना चाहिए । सबसे सुरक्षित तरीका (एक रिबूट के बगल में;) udev
सेवा को पुनरारंभ कर रहा है। आपके लिनक्स डिस्ट्रो के आधार पर, यह service udev restart
या तो के माध्यम से किया जा सकता है/etc/init.d/udev restart
।
हो गया, जड़ खोल के छोड़ो। अपने Android डिवाइस को डिस्कनेक्ट और पुन: कनेक्ट करें, पुन: प्रयास adb devices
करें। अधिकांश उपकरणों ने अब दिखाया, लेकिन विलेफ़ॉक्स स्विफ्ट नहीं - जो स्पष्ट रूप से कुछ अतिरिक्त cuddles चाहता है। यदि आप उस स्थिति में हैं, तो फ़ाइल खोलें (या बनाएं यदि वह मौजूद नहीं है) फ़ाइल ~/.android/adb_usb.ini
और इसमें एक पंक्ति जोड़ें, lsusb
ऊपर दिए गए विक्रेता का नामकरण ; के लिए स्विफ्ट कि हो सकता है 0x2970
(Yupp, यहाँ आप के द्वारा अवश्य लगा दें करने की आवश्यकता है 0x
यह एक हेक्साडेसिमल संख्या है बाहर बात करने के लिए)। फिर ADB सर्वर को पुनरारंभ करें adb kill-server && adb start-server
:। डिवाइस को फिर से डिस्कनेक्ट और फिर से कनेक्ट करें। अभीadb devices
इसे देखना चाहिए।
डिवाइस कनेक्ट कर रहा है
आपने देखा होगा adb devices
कि आपने कुछ ऐसा बताया है 0123456789ABCDEF unauthorized
। यह ठीक है और आपकी (उपकरणों) सुरक्षा के लिए: आपके कंप्यूटर को डिवाइस तक पहुंचने में सक्षम होने के लिए पहले अधिकृत होना चाहिए। तो बस adb shell
अब जारी करें - जिसे एक error: device unauthorized. Please check the confirmation dialog on your device.
सलाह के साथ छोड़ दिया जाएगा (वैकल्पिक रूप से अपने कंप्यूटर को स्थायी रूप से अधिकृत करने के लिए चेक-बॉक्स को चिह्नित करें), और आपका काम हो गया: अब आप अपने डिवाइस को एक्सेस करने के लिए adb का उपयोग कर सकते हैं ।
अपडेट:
¹ ध्यान दें कि बाद के लिनक्स संस्करणों में, UDEV नियमों के लिए वाक्यविन्यास थोड़ा बदल गया है, जैसे कि jcomeau_ictx ने अपनी टिप्पणी में बताया है। उन मूल्यों के लिए जो हमें ऊपर मिले:
SUBSYSTEM=="usb", ATTR{idVendor}=="2970", ATTR{idProduct}=="2282", MODE="0666", GROUP="plugdev", SYMLINK+="android%n"
दो अंतर: यह अब SUBSYSTEM
(कोई बहुवचन) नहीं है, और समूह से बदल गया androiddev
है plugdev
(पूर्व हाल के सिस्टम पर मौजूद नहीं है, बाद वाला करता है और आमतौर पर कम से कम पहले उपयोगकर्ता को सौंपा जाता है)।
इसके अतिरिक्त, आपको अपने वेंडर को ~/.android/adb_usb.ini
(एक आईडी प्रति लाइन, हेक्स नोटेशन में) जोड़ना होगा :
# ANDROID 3RD PARTY USB VENDOR ID LIST
# 1 USB VENDOR ID PER LINE.
0x2970