Ubuntu未检测到我的Android设备


34

我是android新手。我刚刚下载并安装了android sdk。现在,当我从eclipse运行应用程序时,未检测到我的设备。我已经用谷歌搜索,并提出了解决方案,但是那也没有用。

这是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
Android上的USB调试功能已打开吗?
乔恩·汉纳

是。它已打开。
赛亚人亲王2014年


1
它应该是SUBSYSTEM(单数形式)。
pakman

Answers:


42

确定,这是使此工作生效的所有步骤。我在网上发现的所有响应都有问题,到处都是零散的东西,没有任何确定的顺序,也没有一个可行的解决方案,(运行Android 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组(useradd -G {group-name}用户名):

    useradd -G plugdev billy
    
  3. 重新启动udev(您可能需要注销然后重新登录以更新用户组):

    sudo service udev restart
    

@EvanCarrol:最好在开始之前进行第0步的编辑,而不是在中间(抱歉,拒绝,但这会使答案变得不那么清晰,而不是更清晰):/
Fabby 2015年

这个答案很好。更新到15.10之后,我必须在每次重新启动后执行此操作。效果很棒。
我们是博格2015年

我可以称它为“性感答案”吗?您使我的一天感谢了伙计……
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.)

表示您的手机作为设备004连接到Bus002。因此,udev创建了设备对象/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。让我们知道发生了什么事。


请现在看到的问题..
赛亚人王子

立即查看问题。
赛亚人亲王2014年

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 2015年

遵循您的建议,但对我不起作用。有效的方法是通过设备提供的USB选项进行切换,然后尝试从MTP切换到PTP。这个为我工作。
乔治D

4

您必须更改2件事:

  1. 将51-android.rules文件中的第一个“ ATTR {idProduct}”更改为“ ATTR {idVendor}”。

  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

我在ubuntu 14.04中使用android设备(HTC one(M7))遇到了相同的问题。所以我重新启动到Windows 7.0。在那里也发现了同样的问题。在搜索中,我找到了以下链接。 http://www.makeuseof.com/answers/why-is-my-windows-7-laptop-not-detecting-any-android-devices/

我按Gerry Anthony在该链接中的建议拨打了*#7284#。它可以在Windows上运行。我重新启动到Ubuntu 14.04,并检测到我的android设备。


还要检查以下内容。 修复Android上的USB检测问题
Praveen 2015年

0

在尝试了以上详述的每一个潜在解决方案以及其他论坛的其他话题之后,我发现HOX决定不再与笔记本电脑通信(14.04)的原因是一种更简单,更机械的方法。话筒的微型USB插座的USB引线有故障。通过使用似乎比在AsDa购买的通用铅更硬,使用寿命更短的o / e铅,恢复了正常服务。

然后使用DMM来显示这种情况是如何发生的:该引线中+ 5V电源线的电阻增加到读数几乎打开的程度。o / e,HTC标记的+ 5V绞线的R值仅比完全短路的电阻值高一点,并且在micro USB的工作原理或布局上不是特别好,不,我无法弄清楚这会如何影响因此,只能假设一个或两个设备的I / O板上的电源导轨也使用一个或两个插座的+ 5V部分进行数据传输。

我在这里学到的知识:首先检查较简单的内容,然后再使用安装的软件将您的头发弄乱,然后将所有内容恢复原状,直到故障首先显现出来为止!

HTC-1,联合乳业的电缆供应商-0。


-1

应该是这样的:

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

这不能为问题提供答案。要批评或要求作者澄清,请在其帖子下方发表评论-您可以随时对自己的帖子发表评论,一旦您拥有足够的声誉,就可以在任何帖子中发表评论
Fabby 2015年

@Fabby这看起来试图回答这个问题对我来说..
赛斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.