在 Ubuntu 下使用 Android ADB 调试时如果出现错误提示:
insufficient permissions for device: verify udev rules
等等… 以及各种各样的奇怪问题, 总之就是不能用或不好用.
这都可能是 udev rules 问题. 可以优先尝试如下解决方案:
udev rules
这是谷歌官方给出的 Ubuntu 下使用 ADB 调试的配置方法, 链接在此 (需翻墙) .
只说说其具体操作步骤:
首先, 以 root 权限创建文件
/etc/udev/rules.d/51-android.rules
.$ sudo touch /etc/udev/rules.d/51-android.rules
然后, 为每个制造商创建一条规则.
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
上面这条规则中的 vendor ID 是 HTC 的.MODE
参数指定了读写权限;GROUP
属性指定设备节点的拥有组.
编辑/etc/udev/rules.d/51-android.rules
文件. 如果这个文件是空的, 就加入这条规则. 如果有内容, 就把这行追加到文件最后.最后, 为该文件增加读权限:
$ chmod a+r /etc/udev/rules.d/51-android.rules
最最后, 重新插拔手机, 就可以愉快的调试了.
并非所有的手机都需要走上面这一套才可以调试. 具体啥样的手机需要这样做, 我就不知道了…
总之 Ubuntu 下遇到 ADB 有问题时, 可以优先尝试以上解决办法.
设备制造商 Vendor ID
这张表是谷歌官方给出的, 里面的数据就是填写在 ATTR{idVendor}
属性中各个制造商的 idVendor 的值.
Company | USB Vendor ID |
---|---|
Acer | 0502 |
ASUS | 0b05 |
Dell | 413c |
Foxconn | 0489 |
Fujitsu | 04c5 |
Fujitsu Toshiba | 04c5 |
Garmin-Asus | 091e |
18d1 | |
Haier | 201E |
Hisense | 109b |
HP | 03f0 |
HTC | 0bb4 |
Huawei | 12d1 |
Intel | 8087 |
K-Touch | 24e3 |
KT Tech | 2116 |