如果我将运行Android Oreo OS的安卓手机连接到Linux PC,就会收到以下错误日志:
$ adb devices
List of devices attached
xxxxxxxx no permissions (user in plugdev group; are your udev rules wrong?);
see [http://developer.android.com/tools/device.html]
我尝试使用错误信息提供的链接,但仍然遇到相同的错误。
如果我将运行Android Oreo OS的安卓手机连接到Linux PC,就会收到以下错误日志:
$ adb devices
List of devices attached
xxxxxxxx no permissions (user in plugdev group; are your udev rules wrong?);
see [http://developer.android.com/tools/device.html]
我尝试使用错误信息提供的链接,但仍然遇到相同的错误。
检查设备厂商id和产品id:
$ lsusb
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 078: ID 138a:0011 Validity Sensors, Inc. VFS5011 Fingerprint Reader
Bus 002 Device 003: ID 8087:07dc Intel Corp.
Bus 002 Device 002: ID 5986:0652 Acer, Inc
Bus 002 Device 081: ID 22b8:2e81 Motorola PCS
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
这里我的安卓设备是摩托罗拉PCS。因此,我的 vid=22b8
和 pid=2e81
。
现在创建一个udev规则:
$ sudo vi /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2e81", MODE="0666", GROUP="plugdev"
现在设备只要重新加载udev规则就可以被检测出来。那么,让我们来做一下:
$ sudo udevadm control --reload-rules
完成后,再次检查您的设备是否被adb检测到:
$ adb devices
List of devices attached
ZF6222Q9D9 device
好的,你已经完成了。
如果还是不行,尝试拔下/重新插入设备。
如果还是不行,重启你的操作系统。
udevadm
命令没有生效。 - Henrique de Sousalsusb
中的 pid
更改为您的 udev
规则中的一个。 - Pieteradb
,那么这个方法可以使用,但是如果你还需要 fastboot
,你需要使用另一个答案。 - Jan Pokorný
adb
并将其添加到我的路径中(在Linux上进行了新安装),但仍然出现错误。我随后通过apt install adb
(基于Ubuntu的发行版)将其删除并重新安装。之后,我再次检查了我的用户是否确实是plugdev
组的一部分,重新启动了机器并重新插入了设备。权限对话框显示,并且所有操作都按预期工作,没有任何黑客攻击。 :) - Mokkunsudo apt-get install -y android-sdk-platform-tools-common && sudo cp /lib/udev/rules.d/51-android.rules /etc/udev/rules.d/
- ealfonso