26
2017
09

Android Err:no permissions (verify udev rules)

在linux开发android程序时,用真机连接电脑,打开手机的USB调试模式,使用Android Studio安装App,出现错误,使用adb 命令查看设备:

win@spring:~$ adb devcies
List of devices attached
D8YDU15906021739    no permissions (verify udev rules); see [http://developer.android.com/tools/device.html]

从错误信息得出,没有建立udev rules,导致驱动无法识别,使用lsusb命令 ,查看当前电脑连接的USB设备:

Bus 002 Device 004: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse
Bus 002 Device 003: ID 046d:c31d Logitech, Inc. Media Keyboard K200
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 005: ID 12d1:105c Huawei Technologies 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
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

因为我的是华为手机,所以 Bus 001 Device 005: ID 12d1:105c Huawei Technologies Co., Ltd. 便是当前连接的手机设备,
解决办法如下:在/etc/udev/rules.d 打开或新建(如果不存在)51-android.rules文件,并进行编辑

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

新增一条记录:

SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev"

其中”12d1”对应华为的设备号,保存后,重新插拔USB,再次使用adb devices,便能生效:

win@spring:~$ adb devices
List of devices attached
D8YDU15906021739    device

注意:还有一种通用的方式
在51-android.rules中只写一条:

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

针对所有的手机都能生效。

上一篇:新建Maven项目流程表 下一篇:View和输入法的通信原理