adb 设备 = > 没有权限(plugdev 组中的用户;您的 udev 规则有误吗?

2022-08-31 08:00:54

如果我将我的Android手机与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]

我尝试使用错误消息提供的链接,但仍然收到相同的错误。


答案 1

检查设备供应商 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

在这里,我的Android设备是摩托罗拉PCS。所以我的和.vid=22b8pid=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

所以,你完成了。

如果仍然不起作用,请拔下/重新插入设备。

如果仍然不起作用,请重新启动操作系统。


答案 2

我不知道这个问题背后的原因。但临时解决方法是将手机设置为文件传输模式MTP模式

此修复程序的问题在于,每次连接电缆时,您都需要将模式从充电模式设置为文件传输模式或 MTP 模式。


推荐