Ubuntu 12.04 下,adb命令不显示设备ID
1. 将adb命令添加到/usr/local/bin下。命令:
sudo cp ~/working/ics/out/host/linux-x86/bin/adb /usr/local/bin/
2. 创建文件50-android.rules。命令:
sudo vim /etc/udev/rules.d/99-android.rules (99代表权限,如果有两个这样到文件,执行权限高的。) 输入:
SUBSYSTEM=="usb", ATTRS{idVendor}=="1782", ATTRS{idProduct}=="5d24",MODE="0666", OWNER="raulyang"
其中设备idVendor可以通过lsusb查看:
Bus 001 Device 016: ID 1782:5d04 Spreadtrum Communications Inc.
3. 执行命令:chmod a+rx /etc/udev/rules.d/99-android.rules
4. 在家目录下创建.android目录,在.android目录下新建adb_usb.ini文件,把idVendor的值加进去,输入:0x1782 保存退出。
原因是adb内建有一个知名的厂商ID列表,对于列表内的设备,adb可以直接连接,而不在列表中的设备,它会直接返回,这也就是为什么android设备的驱动已经安装好了,而adb 连接不上的原因。如果我们用的android设备的厂商ID被修改过,即未在google默认的列表里,按官方的步骤就会失败。好在adb除了内建的一个列表之后,还有一个adb_usb.ini文件维护一下可信任的第三方厂商列表,需要把VID(Vender ID)写到adb_usb.ini中
5. 重启:sudo /etc/init.d/udev restart
6. 执行:sudo adb kill-server
7. adb devices