您的位置:首页 > 编程语言 > Java开发

Ubuntu下adb 显示insufficient permissions for device,或Eclipse中DDMS设备显示?????

2015-08-31 18:24 495 查看
设置usb权限

因为ubuntu这样的系统都是默认以非root身份在运行的,要使用usb调试,需要sudo支持。

  $ lsusb

  Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

  Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

  Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

  Bus 002 Device 003: ID 413c:2106 Dell Computer Corp.

  Bus 002 Device 002: ID 0461:4d81 Primax Electronics, Ltd

  Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

  Bus 001 Device 010: ID 0bb4:0c87 High Tech Computer Corp.

  Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

列表中,Bus 001 Device 010: ID 0bb4:0c87 High Tech Computer Corp. 这一行为htc手机的usb使用端口,记录一下,id为0bb4(基于上所有的htc都是这个ID)。

  $sudo vim /etc/udev/rules.d/70-android.rules

加入以下内容:

   SUBSYSTEM=="usb",ATTRS{idVendor}=="0bb4",ATTRS{idProduct}=="0c87",MODE="0666"

其中的idvendor idProduct指的是USB的ID可以使用lsusb查询得到。

比如我的是:

  lsusb

   Bus 001 Device 010: ID 0bb4:0c87 High Tech Computer Corp

   ID 0bb4 就是idVendor ,0c87就是 idProduct

运行命令,重启udev:

   $sudo
chmod a+rx /etc/udev/rules.d/70-android.rules

70-android.rules文件不存在的话自己创建一个就行了

   $sudo service udev restart

如果到这里提示error:device offline的话

输入adb devices显示:

List of devices attached 05651b26484e647a	offline


可以看下adb version,如果显示的是Android Debug Bridge version 1.0.29,那么就对了,你需要更新到1.0.31.

下载之后将解压的adb替换原来的。如果不知道原先的在哪,可以
which adb

替换后再试下adb version,看看是否变为1.0.31了。

如果是,就成功了。

我的adb是在/usr/bin/adb目录下

之后重新运行adb kill-server

adb devices

就OK了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: