ubuntu连接android设备(附最简单方法)

在ubuntu下连接android设备,虽然不用像windows那样安装驱动,然而却会遇见一个错误:输入adb shell,会提示insufficient permissions for device,输入adb devices,设备名称会显示 ????????等一大堆问号。

这是因为ubuntu默认是以非root用户运行的。如果要使用adb 进行usb调试,使用root账号去执行相关命令固然可以进入adb shell,但是却太麻烦。

另一种方法是配置udev的规则。方法如下:

1、输入lsusb,查看设备的ID号。如我的输出内容如下:

Bus 002 Device 008: ID 0bb4:0d02 High Tech Computer Corp.
Bus 008 Device 002: ID 046d:c52e Logitech, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 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 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

其中Bus 002 Device 008: ID 0bb4:0d02 High Tech Computer Corp.这一行就是我的HTC手机的USB使用端口了。记住中间的这两个ID:0bb4和0d02。

2、sudo vi /etc/udev/rules.d/70-android.rules

如果没有这个文件,可以创建,然后加入以下内容

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

3、修改权限

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

4、重启udev 服务:

sudo service udev restart

5、重启adb server。

重连设备,然后执行sudo ./adb kill-server

adb start-server

然后看看adb devices是否已经已经正常显示出设备的名称了。


PS:

最新修改方法,不用去看设备的ID,直接在rules.d下增加一个文件51-android.rules,内容为:

SUBSYSTEM=="usb" ENV{DEVTYPE}=="usb_device", MODE="0666"
目前通用于所有android设备。保存后如上面的步骤修改权限,重启udev和adb,然后重新插上手机就可以了。

上一篇:字符串操作


下一篇:C语言有哪些标准?