Ubuntu 未检测到我的 Android 设备

Ubuntu 未检测到我的 Android 设备

我是 android 新手。我刚刚下载并安装了 android sdk。现在当我从 eclipse 运行应用程序时,我的设备没有被检测到。我在 Google 上搜索并找到了这个解决方案,但这也没有用。

这是 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

请帮助我。谢谢。

答案1

好的,以下是实现此功能的所有步骤。我在网上找到的所有回复都存在问题,到处都是零零碎碎的东西,没有任何特定的顺序,也没有单一有效的解决方案,(运行 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:ID18d1:4ee7 谷歌公司

    为了Nexus 5,供应商 ID 为18d1,我的在巴士上”003“如果你在插入设备时没有看到任何变化系统盘,也许您的 USB 电缆仅用于充电。

  5. 现在使用以下命令重新加载规则:

    sudo udevadm control --reload-rules
    sudo service udev restart
    sudo udevadm trigger
    
  6. 验证设备现在允许插件开发用户组访问

    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 设备确认权限正确并享受!

笔记:如果你还没有创建插件开发组和添加了您的用户名对其(如果权限被拒绝,则在以下命令前面添加“sudo”):

  1. 添加 plugdev 组:

    groupadd plugdev
    
  2. 添加您的用户名插件开发组 (useradd -G {组名} 用户名):

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

    sudo service udev restart
    

答案2

你必须改变两件事:

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

  2. 从终端运行以下命令:

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

答案3

尝试使用 groupplugdev而不是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 连接到总线 002。因此 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。让我们知道发生了什么。

答案4

我的 Android 设备开启了 USB 调试,这似乎是一个问题,所以我进入开发者设置并将其关闭。然后我重新插入 USB 电缆,然后出现一个窗口,允许我打开 USB 存储。这使我的 Ubuntu 14.04 检测到 Android 设备。我不知道所有设备是否都有此设置,但它解决了我的问题,而我尝试了所有其他方法。谢谢

相关内容