Nad*_*her 76 android adb android-studio 17.04
当我尝试:
$ adb devices
Run Code Online (Sandbox Code Playgroud)
我得到结果:
List of devices attached
???????????? no permissions
Run Code Online (Sandbox Code Playgroud)
问题是什么?
在 Ubuntu 16.04 机器上尝试过,效果很好。尝试了 7.1.1 设备,它也运行良好。
小智 92
有同样的问题。确保设备 USB 模式不 充电已经解决了这个问题。
Sum*_*ukh 89
尝试重新启动 Adb 服务器。
sudo adb kill-server
Run Code Online (Sandbox Code Playgroud)
进而
sudo adb start-server
Run Code Online (Sandbox Code Playgroud)
然后连接您的设备打开调试并键入
adb devices
Run Code Online (Sandbox Code Playgroud)
Pau*_*aul 53
udev 很可能错误地添加了您的设备。我也遇到了这个问题并遇到了一个相对简单的解决方案。
在 lsusb 中查找您的设备
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2b Intel Corp.
Bus 001 Device 002: ID 05c8:03a2 Cheng Uei Precision Industry Co., Ltd (Foxlink)
Bus 001 Device 006: ID 18d1:4ee7 Google Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Run Code Online (Sandbox Code Playgroud)
在这种情况下的兴趣点:
Bus 001 Device 006: ID 18d1:4ee7 Google Inc.
Run Code Online (Sandbox Code Playgroud)
查看对应的设备文件
$ ls -l /dev/bus/usb/001/006
Run Code Online (Sandbox Code Playgroud)
可能你会看到类似的东西
crw-rw-r-- 1 root root 189, 5 Sep 8 21:47 /dev/bus/usb/001/006
Run Code Online (Sandbox Code Playgroud)
这意味着设备文件将由用户 root 和组 root 拥有,这就是为什么 adb 可以以 root 身份访问它,但不能以标准用户身份访问它。
这可以通过创建一个新的 udev 规则来解决 - 我曾经/etc/udev/rules.d/51-android.rules
- 将设备添加到组中plugdev
,adb 已经假定您是其中的成员(您应该是,检查使用id
)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0660",
GROUP="plugdev", SYMLINK+="android%n"
Run Code Online (Sandbox Code Playgroud)
**记住将 ATTR{idProduct}=="4ee7" 替换为您在第一步中找到的您自己的产品 ID。**(如果您的供应商不是 Google Inc.,也将供应商 ID 替换为 lsusb 中冒号前的那个)。
现在只需拔下您的设备并将其重新插入(udev 应自动响应新文件)和 tadaa:
$ adb devices
List of devices attached
YC873P0G device
Run Code Online (Sandbox Code Playgroud)
来源:为 USB 调试 Android 设备添加 udev 规则 - Janos Gyerik
归档时间: |
|
查看次数: |
120441 次 |
最近记录: |