Ubuntu 16.04 adb devices : no permissions 解决方法

一、安装adb和fastboot

sudo apt-get update 

sudo apt-get install android-tools-adb android-tools-fastboot

二、出现问题

输入adb devices后发现

System-Product-Name:~$ adb devices

* daemon not running. starting it now on port 5037 *

* daemon started successfully *

List of devices attached 

???????????? no permissions

因为ubuntu系统都是默认以非root身份在运行的,要使用usb调试,需要sudo支持。

lsusb 查看usb使用情况

System-Product-Name:~$ lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 003: ID 413c:301a Dell Computer Corp. 

Bus 001 Device 004: ID 05c6:90b8 Qualcomm, Inc. 

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

可以看到高通平台的设备相关id是05c6:90b8

编辑rules 

sudo gedit /etc/udev/rules.d/51-android.rules

添加如下内容 

SUBSYSTEM=="usb",ATTRS{idVendor}=="05c6",ATTRS{idProduce}=="90b8",MODE="0666"

然后保存退出,再设置一下权限 

sudo chmod a+rx /etc/udev/rules.d/51-android.rules

运行命令,重启udev: 

sudo service udev restart 

sudo /etc/init.d/udev restart

System-Product-Name:~$ sudo service udev restart 

System-Product-Name:~$ sudo /etc/init.d/udev restart

[ ok ] Restarting udev (via systemctl): udev.service.

拔掉usb重新连上再执行: 

adb kill-server 

adb devices

一般以上步骤就可以设置OK,能正常运行adb了,但是我设置了上面步骤后仍然显示

System-Product-Name:~$ adb devices 

* daemon not running. starting it now on port 5037 *

* daemon started successfully *

List of devices attached 

???????????? no permissions

可以编辑另外一个rules 

sudo gedit /lib/udev/rules.d/50-udev-default.rules

查找关键字”usb_device”,找到下面位置

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"

修改权限为 

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"

同时在该目录下添加新的rules文件 

sudo gedit /lib/udev/rules.d/51-android.rules

添加如下内容 

SUBSYSTEM="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="05c6", MODE="0666"

然后保存退出,再设置一下权限 

sudo chmod a+rx /lib/udev/rules.d/51-android.rules

再运行命令,重启udev: 

sudo service udev restart 

sudo /etc/init.d/udev restart

System-Product-Name:~$ sudo service udev restart

System-Product-Name:~$ sudo /etc/init.d/udev restart

[ ok ] Restarting udev (via systemctl): udev.service.

拔掉usb重新连上再执行: 

adb kill-server 

adb devices

System-Product-Name:~$ adb devices 

* daemon not running. starting it now on port 5037 *

* daemon started successfully *

List of devices attached 

505TL60419000092 unauthorized

大功告成! 

猜你喜欢

转载自blog.csdn.net/love_xiaozhao/article/details/89372241