java - adb devices => 没有权限(plugdev 组中的用户;您的 udev 规则错了吗?)

标签 java android linux adb android-source

如果我将装有 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]

我尝试了错误消息提供的链接,但仍然遇到同样的错误。

最佳答案

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

所以,你完成了。

如果仍然无法使用,请拔下/重新插入设备。

如果还是不行,重启你的操作系统。

关于java - adb devices => 没有权限(plugdev 组中的用户;您的 udev 规则错了吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53887322/

相关文章:

java - 在元素 xml 之间保留文字字符串

java - 将 JScrollList 更改为 JList 的布局

java - 从Json数组中拉取信息

android - 如何仅在选中 CheckBoxPreference 时推送 firebase 通知?

android - CollapsingToolbarLayout 不显示自定义标题

python - 使用 os.execlp 时,为什么 `python` 需要 `python` 作为 argv[0]

windows - Mac OS X 上的/proc/self/cmdline/GetCommandLine 是什么?

java - 如何在tomcat中配置jdbc连接池并在jersey中使用

android - 如何从另一个应用程序启动 Activity ?

c++ - Linux 不尊重 SCHED_FIFO 优先级? (正常或 GDB 执行)