为什么ADB Ubuntu无法识别我的设备?

TuG*_*llo 5 ubuntu android driver adt

我买了一台摩托罗拉G,我尝试从DEVELOPED ADT Ubuntu安装我的程序,问题是我在ejercutar应用程序时收到消息

在此输入图像描述

从终端,显示以下内容

zhelon@zhelon-Lenovo-IdeaPad-Z400:~$ sudo adb devices
List of devices attached 
????????????    no permissions
Run Code Online (Sandbox Code Playgroud)

Ale*_*x W 15

解决这个问题最实用的方法是运行adb具有root访问权限的工具.您收到无权限错误,因为您需要超级用户权限才能与连接的设备进行交互.

为了改善答案并缓解多余的安全问题,您还可以adb通过为设备添加udev规则来在没有root的情况下运行.这里的说明.

首先,查询lsusb:

$ lsusb
Bus 002 Device 103: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II]
Run Code Online (Sandbox Code Playgroud)

然后创建一个新的规则文件并将规则添加到它(/lib/udev/rules.d/10-adb.rules):

# ADB
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="username"
Run Code Online (Sandbox Code Playgroud)

然后重新启动udev,或重新启动计算机(推荐).

  • 非常感谢,这就是解决方案."sudo adb kill-server,sudo adb start-server" (2认同)
  • 我仍然想知道为什么人们会给出好的答案(不留言) (2认同)

小智 6

我有同样的问题,我使用以下步骤修复它.

  • 运行以下命令.

    $ sudo gedit /etc/udev/rules.d/51-android.rules
    
    Run Code Online (Sandbox Code Playgroud)
  • 添加以下行并保存:

    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"    
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666" 
    
    Run Code Online (Sandbox Code Playgroud)
  • 运行以下命令.

    $ sudo service udev restart
    
    Run Code Online (Sandbox Code Playgroud)
  • 运行以下命令.

    $ sudo killall adb
    
    Run Code Online (Sandbox Code Playgroud)
  • 完成以下步骤后重新连接手机.