大家在看本文前,可以先试试cd到sdk文件夹里, 加上sudo命令来重启连接,大部分配完仍有问题的是因为没有加sudo。
在终端输入adb devices的时候爲空:
List of devices attached
解决办法如下: 同样进入终端,首先输入lsusb,如下图:
lsusb Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:8008 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 004: ID 12d1:1052 Huawei Technologies Co., Ltd. Bus 003 Device 003: ID 046a:010d Cherry GmbH Bus 003 Device 002: ID 093a:2521 Pixart Imaging, Inc. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
由于我的是华为MATE7所以华为的估计就是
Bus 003 Device 004: ID 12d1:1052 Huawei Technologies Co., Ltd.
现在我们需要记住的就是ID后面的一项数据,在上面的情况中,我们需要记录的是12d1(不同厂商的设备ID的值可能不一样,所以建议大家在使用ID值的时候先使用lsusb命令查询)。 在/etc/udev/rules.d/中建立文件70-android.rules,其实LZ还不知道这个文件的命名到底有什么规则,在网上也有看到说用51或者50开头的,由于LZ拿70成功配置,所以这边直接沿用。使用 sudo vim /etc/udev/rules.d/70-android.rules
SUBSYSTEM==”usb”,SYSFS{idVendor}==”12d1”,MODE=”0666”
其中SYSFS{idVendor}后面的值就是之前记录下的12d1,保存退出,之后修改该文件的权限。 sudo chmod 777 /etc/udev/rules.d/70-android.rules 之后就是非常非常非常重要的一步,LZ之前就是忘记这一步,失败了好几次,重启udev sudo service udev restart 之后adb kill-server一下,adb start-server一下,完成adb的重启,重新输入adb devices之后,可以看到: 如果还是问号的话,可以cd到sdk的platform-tools中,用sudo ./adb kill-server和sudo ./adb start-server加权限重启adb,大部分配好后还有问题可以试试通过sudo命令重启adb连接服务。之后就可以按照原来的方法,在eclipse中进行调试了,看到乱码的话,可以重插一次手机。 另外,输入adb说找不到命令的是因为环境变量的问题,直接cd到sdk中的platform-tools文件夹中运行./adb devices等相关指 令就能完成功能,或者重配环境变量即可。 参考http://waynehu16.iteye.com/blog/1637664