Android adb कोई अनुमति नहीं


33

मैं एक Ubuntu (+ दालचीनी) मशीन से अदब का उपयोग करने की कोशिश कर रहा हूं। समस्या यह है कि मुझे adb उपकरणों से निम्न संदेश मिलता है :

List of devices attached
TA8830OIVO  no permissions

जहां TA8830OIVO मेरा मोटोरोला जी डिवाइस है।

मैंने /etc/udev/rules.d/51-android.rules में Android नियम बदले

SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2e76",
MODE="0666", GROUP="plugdev", SYMLINK+="android_adb", OWNER="axel"

मैंने udev सेवा को फिर से शुरू किया और अपने व्यक्तिगत लैपटॉप पर स्थापित किया जा रहा adb मैं केवल उन सभी priveledges (प्लगदेव समूह और इतने पर) की आवश्यकता वाला उपयोगकर्ता हूँ।

वहाँ लागू बिना एडीबी को चलाने के लिए एक रास्ता है sudo ?


1
Udev को पुनः आरंभ करना और sudo udevadm triggerमेरे लिए काम नहीं किया। मुझे कंप्यूटर को पुनरारंभ करना पड़ा और फिर यह ठीक काम किया
राफेल ज़ेवियर

संदर्भित करें: android.stackexchange.com/questions/177318/…
diyism

जवाबों:


65

अपने फोन में यूएसबी मोड को फाइल ट्रांसफर में बदलें। मेरे लिए यही काम आया।


मेरे लिए विपरीत सच है: कुछ पुराने उपकरणों पर फ़ाइल स्थानांतरण मोड के दौरान यूएसबी डिबगिंग काम नहीं करता है।
Miha_x64

1
अपडेट: अभी देखा कि मेरे फोन में (एंड्रॉइड वन), डेवलपर सेटिंग्स में चार्जिंग मोड में यूएसबी डिबगिंग को भी सक्षम किया जा सकता है।
NuttLoose

2
फाइल ट्रांसफर मोड में बदलाव करना मेरे लिए काम कर गया। एंड्रॉइड 7 पर
अबरार

किंडल फायर 8 2019 - "एमटीपी मोड" जो डेवलपर विकल्पों में यूएसबी कॉन्फ़िगरेशन में है।
बिल मैकगोनिगल

मैं बदल गया और फिर मुझे डिवाइस पर यूएसबी डिबगिंग की अनुमति देने के लिए कहा गया: डी
मैक्सवेल एससी

27
  1. sudo udevadm triggerलागू किए गए परिवर्तनों को प्राप्त करने के लिए दौड़ना याद रखें (या रिबूट करें, लेकिन इसमें मज़ा कहाँ है)।
  2. अपने नियमों को लिखने के बजाय https://github.com/M0Rf30/android-udev-rules का उपयोग करें
  3. सुनिश्चित करें कि आपके पास नवीनतम ADB संस्करण (1.0.35 102d0d1e73de-android) है। पहले वाले मेरे लिए USB-C के साथ काम नहीं करते थे।

धन्यवाद, लेकिन यह थोड़े पुराना सवाल है। मैंने 2 साल पहले मैक पर स्विच किया। मुझे lsusb जैसे सामान करना बेवकूफी लगती है और फिर नियमों को संशोधित करना चाहिए जब इसे स्वचालित रूप से किया जाना चाहिए ... मैंने ubuntu के इतने वर्षों के उपयोग के बाद छोड़ दिया। एक अच्छा लिनक्स डेस्कटॉप सिस्टम नहीं मिल रहा है।
शादॉक्स

1
यह प्रश्न 6 महीने पुराना है और अभी भी पोस्टर के लिए वैध है। 1 वर्ष पहले मैंने 3 एक्स के चक्कर के बाद ओएस एक्स को डंप किया और इसी तरह के कारणों से लिनक्स पर वापस चला गया;)। लिनक्स में ऐसे भाग होते हैं जहाँ यह निराशाजनक हो जाता है लेकिन अगर आप homebrew + zsh + iTerm2 का उपयोग करते हैं तो OS X में समान मात्रा में टिंकरिंग की आवश्यकता होती है। अंतर यह है कि सामान अगर ज्यादातर बंद-स्रोत या FOSS के पुराने संस्करणों में है, लेकिन एक अच्छे GUI और UX (अधिकांश भाग के लिए) के साथ है। रेपो से नियमों का उपयोग करना इसे ज्यादातर एक बार का सेटअप कदम बनाता है। एंड्रॉइड एसडीके को एक बच्चे के रूप में काम करने के आर्काना को ध्यान में रखते हुए इसे खेलने वाला माना जाता है।
ज़ंबर

1
यह चल रहा है और service udev restartमेरे लिए काम नहीं किया। मुझे कंप्यूटर को पुनरारंभ करना पड़ा और फिर यह ठीक काम किया।
राफेल ज़ेवियर

Ubuntu 16.04 पर, udv नियमों को सेट करते हुए, फ़ोन ट्रांसफ़र करने के लिए usb मोड को फाइल ट्रांसफर में बदलना एक आकर्षण की तरह काम करता है। कोई पुनरारंभ की जरूरत है।
गौतम

Ubuntu 16.04 पर Pixel 2 के साथ पॉइंट 2 के gitbub से नियम जोड़ने पर भी बिना फाइल ट्रांसफर मोड में जाने के काम करता है।
माइक हनफी

3

यदि आप sudo के साथ ADB सर्वर को पुनरारंभ करते हैं, तो यह काम करेगा।

sudo adb kill-server
sudo adb start-server

0

कस्टम ग्रेड फ़ंक्शन को परिभाषित करें:

task _adb_restart {
def adb = android.getAdbExe().toString()
group '__custom'
  doLast {
    exec {
      commandLine 'bash', '-c', '/bin/echo **root_password** | sudo -S ' + adb + ' kill-server'
    }
    exec {
      commandLine 'bash', '-c', '/bin/echo **root_password** | sudo -S ' + adb + ' devices'
    }
  }
}

0

सबसे अच्छा समाधान और जो मेरे लिए बेहतर काम करता है वह adbउबंटू पैकेज से स्थापित करना है। यह आपको एक समुदाय द्वारा निर्धारित डिफ़ॉल्ट सेट देता हैudev सभी एंड्रॉइड डिवाइसों के लिए नियमों है।

उदाहरण:

$ sudo apt-get install adb

0

एंड्रॉइड आधारित ओएस अमेज़ॅन फायर ओएस 8 के लिए, आप "सेटिंग्स> डिवाइस विकल्प> डेवलपर विकल्प" पर जा सकते हैं। आपको इसे सक्षम करने की आवश्यकता हो सकती है

सुनिश्चित करें कि "USB डिबगिंग" चालू है (आपके मामले में, यह है)।

फिर "नेटवर्किंग> USB कॉन्फ़िगरेशन चुनें" पर जाएं। "एमटीपी (मीडिया ट्रांसफर प्रोटोकॉल)" चुनें। यह कंप्यूटर को आगे और पीछे फाइल भेजने की अनुमति देता है।


0

उपयुक्त के माध्यम से स्थापित एडीबी पैकेज को हटा दें

$sudo apt remove adb

https://developer.android.com/studio/releases/platform-tools से नवीनतम adb डाउनलोड
करें

प्लेटफ़ॉर्म टूल पर पथ सेट करें (बेहतर इन दो पंक्तियों को ~ / .bashrc फ़ाइल में डालें)

export PATH= /<path-to-android-sdk-folder>/android-sdk/tools/bin<br>
export PATH= /<path-to-android-sdk-folder>/android-sdk/platform-tools

रन

$source ~/.bashrc

जाँच अदब पथ

$which adb

sudo में adb शुरू करें (मुझे sudo में चलने पर adb को पूर्ण पथ देने की आवश्यकता है)

$sudo /<path-to-android-sdk-folder>/android-sdk/platform-tools/adb kill-server
$sudo /<path-to-android-sdk-folder>/android-sdk/platform-tools/adb start-server
$adb shell

किया हुआ।
यह एंड्रॉइड फोन के यूएसबी मोड (मिडी, फाइल ट्रांसफर करने, चार्ज करने) के बावजूद काम करता है। यह सभी में काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.