首页 > 解决方案 > adb devices => 没有权限(plugdev 组中的用户;您的 udev 规则错了吗?)

问题描述

如果我将带有 Android Oreo OS 的 Android 手机连接到 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]

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

标签: javaandroidlinuxadbandroid-source

解决方案


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

所以,你完成了。

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

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


推荐阅读