Ubuntu ไม่พบอุปกรณ์ Android ของฉัน


34

ฉันใหม่สำหรับ Android ฉันเพิ่งดาวน์โหลดและติดตั้ง android sdk ตอนนี้เมื่อฉันเรียกใช้แอปพลิเคชันจาก eclipse อุปกรณ์ของฉันไม่ได้รับการตรวจพบ ฉัน googled และถูกนำขึ้นมาด้วยวิธีนี้เป็นวิธีแก้ปัญหาของฉัน แต่นั่นก็ไม่ได้ผล

นี่คือ 51-android.rules

SUBSYSTEMS=="usb", ATTR{idProduct}=="0bb4",  ATTR{idProduct}=="0c03", MODE="0666", GROUP="plugindev", OWNER="<username>"

หลังจากนั้นฉันรีบูตแล็ปท็อปของฉันและรันคำสั่งนี้:

username@laptopname:~/Android/adt-bundle/sdk/platform-tools$ adb devices

ผลลัพธ์ที่ฉันได้รับคือ:

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
????????????    no permissions

แก้ไข

crazydeveloper@crazydeveloper:~$ lsusb
Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.) 
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 04f2:b337 Chicony Electronics Co., Ltd 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/004/
ls: cannot access /dev/bus/usb/004/: No such file or directory
crazydeveloper@crazydeveloper:~$ 

แก้ไข: 2

หลังจากคำตอบที่ส่งมานี่คือผลลัพธ์ที่ฉันได้รับ:

crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/002
total 0
crw-rw-r--  1 root root    189, 128 May  7 09:45 001
crw-rw-r--+ 1 root root    189, 129 May  7 09:45 002
crw-rw-rw-  1 root plugdev 189, 130 May  7 09:48 003

ฉันใช้ Micromax Canvas 2.2 A114 - Android เวอร์ชั่น 4.2.2

โปรดช่วยฉันด้วย ขอบคุณ


2
การดีบัก USB เปิดใช้งานบน Android หรือไม่
Jon Hanna

ใช่. มันเปิดอยู่
Saiyan Prince


1
มันควรจะเป็นระบบย่อยเอกพจน์
pakman

คำตอบ:


42

ตกลงนี่คือขั้นตอนทั้งหมดเพื่อให้มันใช้งานได้ ฉันมีปัญหากับการตอบสนองทั้งหมดที่ฉันพบออนไลน์บิตและชิ้นส่วนทุกที่โดยไม่มีคำสั่งซื้อใด ๆ และไม่มีวิธีแก้ปัญหาการทำงานเดียว (ใช้ Android Studio Studio, Jmonkey 3D และ Ubuntu 14.04)

หากอุปกรณ์ adbแสดงอุปกรณ์ Android เป็น????????? (ไม่มีสิทธิ์) ทำตามคำแนะนำเหล่านี้:

  1. สร้างไฟล์/etc/udev/rules.d/51-android.rules

    sudo gedit /etc/udev/rules.d/51-android.rules
    
  2. คัดลอกและวางเนื้อหาด้านล่าง:

    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666", GROUP="plugdev"    
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666", GROUP="plugdev" 
    
  3. รันคำสั่งต่อไปนี้เพื่อเปลี่ยนการอนุญาตไฟล์:

    sudo chmod a+r /etc/udev/rules.d/51-android.rules
    
  4. เชื่อมต่อโทรศัพท์ของคุณผ่าน usb และเรียกใช้คำสั่งต่อไปนี้:

    lsusb
    

    ค้นหาอุปกรณ์ของคุณตัวอย่าง (Nexus 5):

    รถบัส 003 อุปกรณ์ 074: ID 18d1 : 4ee7 Google Inc.

    สำหรับNexus 5 ID ผู้ขายคือ18d1ของฉันอยู่บนรถบัส " 003 " หากคุณไม่เห็นการเปลี่ยนแปลงเมื่อคุณเสียบอุปกรณ์ของคุณด้วยlsusbบางทีสาย USB ของคุณจะชาร์จเท่านั้น

  5. ตอนนี้โหลดกฎด้วยคำสั่งต่อไปนี้:

    sudo udevadm control --reload-rules
    sudo service udev restart
    sudo udevadm trigger
    
  6. ตรวจสอบว่าอุปกรณ์อนุญาตการเข้าถึงกลุ่มผู้ใช้plugdev แล้ว

    ls -l /dev/bus/usb/<bus number from step 4>
    

    ตัวอย่าง:

    ls -l /dev/bus/usb/003
    crw-rw-rw- 1 root plugdev 189, 329 Jul  3 18:23 074
    
  7. เรียกใช้อุปกรณ์ adbเพื่อยืนยันสิทธิ์ที่ถูกต้องและสนุก!

หมายเหตุ:หากคุณยังไม่ได้สร้างกลุ่มplugdevและเพิ่มชื่อผู้ใช้ของคุณลงไป (ถ้าสิทธิ์ปฏิเสธคำสั่งต่อไปนี้ "sudo" ต่อท้าย ):

  1. เพิ่มกลุ่ม plugdev:

    groupadd plugdev
    
  2. เพิ่มชื่อผู้ใช้ของคุณไปยังกลุ่มplugdev ( ชื่อผู้ใช้เพิ่ม-G {group-name}):

    useradd -G plugdev billy
    
  3. รีสตาร์ท udev (คุณอาจต้องออกจากระบบและกลับเข้าสู่ระบบเพื่ออัพเดตกลุ่มผู้ใช้):

    sudo service udev restart
    

@EvanCarrol: การแก้ไขของคุณดีที่สุดเป็นขั้นตอนที่ 0 ก่อนที่คุณจะเริ่มไม่ได้อยู่ตรงกลาง (ขออภัยที่ปฏิเสธ แต่มีคำตอบที่ชัดเจนน้อยลงแทนที่จะชัดเจนกว่า): /
Fabby

คำตอบนี้ใช้ได้ดี หลังจากอัปเดตเป็น 15.10 ฉันต้องทำหลังจากรีบูตทุกครั้ง ทำงานได้ยอดเยี่ยม
เราคือ Borg

ฉันสามารถเรียกมันว่าคำตอบเซ็กซี่ ... คุณทำเพื่อนของฉันวันขอบคุณ ...
Tushar Pandey

5

ลองกลุ่มมากกว่าplugdev plugindevจากนั้นรีสตาร์ท udev:

sudo udevadm control --reload-rules
sudo service udev restart

หากไม่สามารถหาได้ว่าอุปกรณ์ของคุณเชื่อมต่อกับ lsusb หรือไม่ จากนั้นตรวจสอบการอนุญาต:

ls -l /dev/bus/usb/YOUR_USB_BUS_NO/

ความจริงที่lsusbทำให้เรา:

Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.)

หมายความว่ามือถือของคุณเชื่อมต่อกับรถบัส 002 เป็นอุปกรณ์ 004. /dev/bus/usb/002/004วัตถุอุปกรณ์ดังนั้นสร้าง

โปรดแสดงสิทธิ์ของอุปกรณ์โดยใช้คำสั่ง:

ls -l /dev/bus/usb/002/004

วิธีแก้ปัญหาชั่วคราวคุณสามารถทำให้โลกอุปกรณ์อ่าน / เขียนได้ด้วยคำสั่งนี้ (ตรวจสอบให้แน่ใจว่าเสียบโทรศัพท์ของคุณแล้ว):

sudo chmod 666 /dev/bus/usb/002/004

จากนั้นลองadb devicesอีกครั้ง

นอกจากนี้ผมสังเกตเห็นว่าในตอนท้ายของการปกครอง udev OWNER="<username>"ที่คุณมี คุณได้แทนที่สิ่งนั้นด้วยOWNER="crazydeveloper"ใช่ไหม

สิทธิ์ของคุณนั้นใช้ได้ udev หยิบอุปกรณ์ขึ้นมาและตั้งค่าการอนุญาตเป็น 666 และกลุ่มเป็น plugdev มันไม่ได้ตั้งค่าเจ้าของให้เป็นนักพัฒนา crazydeveloper ด้วยเหตุผลบางอย่าง แต่นั่นไม่สำคัญ

ตรวจสอบให้แน่ใจว่าคุณเป็นสมาชิกของกลุ่ม plugdev ใช้คำสั่งนี้:

sudo useradd -G plugdev crazydeveloper

จากนั้นออกจากระบบถอดสายมือถือเข้าสู่ระบบอีกครั้งแล้วเสียบใหม่และลองadb devicesอีกครั้ง แจ้งให้ทราบว่าเกิดอะไรขึ้น


โปรดดูคำถามในขณะนี้ ..
Saiyan เจ้าชาย

ลองดูคำถามตอนนี้
Saiyan Prince

Also I noticed that at the end of the udev rule you have OWNER="<username>". You did actually replace that with OWNER="crazydeveloper", didn't you ?ช่วยฉันด้วย ขอบคุณ :): D
Yash Sodha

ทำตามคำแนะนำของคุณ แต่มันไม่ได้ผลสำหรับฉัน สิ่งที่ใช้ได้ผลคือการสลับผ่านตัวเลือก USB ที่อุปกรณ์มีให้ลองเปลี่ยนเป็น PTP จาก MTP อันนี้ใช้ได้สำหรับฉัน
George D

4

คุณต้องเปลี่ยน 2 สิ่ง:

  1. เปลี่ยน 'ATTR {idProduct}' ตัวแรกเป็น 'ATTR {idVendor}' ในไฟล์ 51-android.rules

  2. รันคำสั่งเหล่านี้จากเทอร์มินัล:

    sudo ./adb kill-server
    sudo ./adb start-server
    sudo ./adb devices
    

3

มันเป็นความผิดพลาดเล็กน้อยที่ฉันเห็นใน 51-android.rules คุณเพิ่มพารามิเตอร์ idProduct เป็นสองเท่าและไม่มี idVendor ลองเปลี่ยนชื่อง่าย ๆ


1

อุปกรณ์ Android ของฉันมีการดีบัก USB ซึ่งดูเหมือนว่ามีปัญหาดังนั้นฉันจึงไปที่การตั้งค่านักพัฒนาและปิด ฉันถอดสายเคเบิล USB จากนั้นหน้าต่างต่อท้ายซึ่งอนุญาตให้ฉันเปิดที่เก็บข้อมูล USB นั่นทำให้ Ubuntu 14.04 ของฉันตรวจจับอุปกรณ์ Android ฉันไม่ทราบว่าอุปกรณ์ทั้งหมดมีการตั้งค่านี้ แต่มันแก้ไขปัญหาของฉันได้ในขณะที่ฉันลองวิธีอื่นทั้งหมด ขอขอบคุณ


0

ฉันมีปัญหาเดียวกันกับอุปกรณ์ Android ของฉัน (HTC one (M7)) ใน Ubuntu 14.04 ดังนั้นฉันรีบูตเข้าไปใน windows 7.0 พบปัญหาเดียวกันที่นั่นด้วย ในการค้นหาฉันพบลิงค์ต่อไปนี้ http://www.makeuseof.com/answers/why-is-my-windows-7-laptop-not-detecting-any-android-devices/

ฉันโทร * # 7284 # ตามคำแนะนำของ Gerry Anthony ในลิงค์นั้น และมันทำงานบน Windows ฉันรีบูตบน Ubuntu 14.04 และตรวจพบอุปกรณ์ Android ของฉัน



0

หลังจากลองใช้วิธีแก้ปัญหาที่เป็นไปได้ที่มีรายละเอียดด้านบนและในเธรดอื่น ๆ จากเวทีอื่น ๆ ฉันค้นพบว่าเหตุผลที่ HOX ของฉันตัดสินใจที่จะไม่สื่อสารกับแล็ปท็อปของฉันอีกต่อไป (14.04) สาย USB ที่นำไปสู่ช่องเสียบ micro USB ของโทรศัพท์ผิดพลาด ด้วยการใช้ลูกค้าเป้าหมายที่ดูเหมือนแข็งแกร่งและมีโอกาสน้อยกว่ารุ่นทั่วไปที่ซื้อที่ AsDa บริการปกติกลับมาทำงานต่อ

จากนั้นใช้ DMM เพื่อแสดงให้เห็นว่าสถานการณ์นี้เกิดขึ้นได้อย่างไร: ความต้านทานของสายไฟ + 5V ในสายนำนั้นเพิ่มขึ้นจนถึงจุดที่อ่านได้เกือบจะเปิด ค่า R ของ o / e, HTC ที่ติดแท็กสายนำ + 5V เพียงเล็กน้อยต้านทานเพียงเล็กน้อยสั้นกว่าจะตายและไม่ได้ดีขึ้นโดยเฉพาะอย่างยิ่งในการทำงานหรือรูปแบบของ micro USB ไม่ฉันไม่สามารถเข้าใจได้ว่าเรื่องนี้ได้รับผลกระทบอย่างไร การถ่ายโอนข้อมูลสามารถทำได้เพียงสมมติว่ารางจ่ายไฟในบอร์ด I / O บนอุปกรณ์ใดอุปกรณ์หนึ่งหรือทั้งสองเครื่องใช้ส่วน + 5V ของซ็อกเก็ตหนึ่งหรือทั้งสองสำหรับการถ่ายโอนข้อมูลด้วย

สิ่งที่ฉันได้เรียนรู้ที่นี่: ตรวจสอบสิ่งที่ง่ายกว่าก่อนที่จะดึงผมของคุณออกไปไหนก็ได้ด้วยซอฟแวร์ที่ติดตั้งทั้งหมดนี้ถูกนำกลับมาใช้ใหม่เพราะมันเป็นสิ่งที่เกิดขึ้นก่อนที่ความผิดพลาด

HTC - 1, ผู้จัดจำหน่ายสายเคเบิลที่เกี่ยวข้องของ Dairies - 0


-1

มันควรจะเป็นแบบนี้:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c03", MODE="0666"

สิ่งนี้ไม่ได้ให้คำตอบสำหรับคำถาม จะวิจารณ์หรือการร้องขอคำชี้แจงจากผู้เขียนแสดงความคิดเห็นด้านล่างโพสต์ของพวกเขา - คุณสามารถแสดงความคิดเห็นในโพสต์ของคุณเองและเมื่อคุณมีเพียงพอชื่อเสียงคุณจะสามารถที่จะแสดงความคิดเห็นในโพสต์ใด
Fabby

@Fabby นี่เป็นความพยายามที่จะตอบคำถามกับฉัน ..
เซท
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.