我在使用Nexus 7平板时,在使用adb devices后出现如下:
List of devices attached
???????????? no permissions
同时在DDMS中显示设备名也显示????????????,也无法显示进程名,无法查看log。
解决方法如下:
1、设置usb权限
因为ubuntu这样的系统都是默认以非root身份在运行的,要使用usb调试,需要sudo支持。
$ lsusb
Bus 002 Device 003: ID 8087:07da Intel 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 0c45:644a Microdia
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
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 046d:c52f Logitech, Inc. Unifying Receiver
Bus 003 Device 004: ID 18d1:4ee7 Google Inc.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
我这是Google 的Nexus 7 ,所以确信Bus 003 Device 004: ID 18d1:4ee7 Google Inc. 这个是我的设备.
如果你不确定,可以插拔设备多次打印lusb信息查看.
列表中,Bus 003 Device 004: ID 18d1:4ee7 Google Inc. . 请记录下USB的idVendor:18d1和idProduct:4ee7。
2、在/etc/udev/rules.d/目录下创建如下文件:
$sudo vim /etc/udev/rules.d/70-android.rules
同时加入以下内容:
UBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4ee7",MODE="0666"
3、运行命令,重启udev
$sudo chmod a+rx /etc/udev/rules.d/70-android.rules
$sudo service udev restart
4、拔插USB
插拔USB,然后输入如:adb devices命令
List of devices attached
08dafad3 device