问题1:
Google 已经发布 ADT 17.0.0 和 SDK R17版本 ,于是乎在 Ubuntu 12.04 X64 上装了下,结果无法运行 adb 命令,错误如下:
adb: error while loading shared libraries:libncurses.so.5: wrong ELF class: ELFCLASS64
查度娘,翻谷歌 该问题还挺普遍,特别针对 64位 Ubuntu ,其实就一句话,没有找到 公共库 ,运行以下命令即可搞定。
追加问题:最近重装系统后,环境变量配置完毕,明明就在adb 目录中运行 adb 命令但老显示 sudo: adb: command not found ,处理方法还是下载 32 位支持库。
$ sudo apt-get install ia32-libs
问题2:
adb devices 没有权限
$ adb devices
List of devices attached
???????????? no permissions
网上解决很多,大致相同,我将自己机器的处理方法记录一下
1、 lsusb 查看 USB 设备情况
$ lsusb
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 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 138a:0007 Validity Sensors, Inc. VFS451 Fingerprint Reader
Bus 001 Device 004: ID 17ef:600e Lenovo
Bus 001 Device 005: ID 05c8:0403 Cheng Uei Precision Industry Co., Ltd (Foxlink) Webcam
Bus 002 Device 003: ID 1058:1110 Western Digital Technologies, Inc.
Bus 002 Device 004: ID 062a:0201 Creative Labs Defender Office Keyboard (K7310) S Zodiak KM-9010
Bus 002 Device 007: ID 05c6:9015 Qualcomm, Inc.
我的机器是高通方案某机型所以显示 Bus 002 Device 007: ID 05c6:9015 Qualcomm, Inc. 如果你确实不知道那条是你的机器情况,就将英文部分粘贴到 google 查下就OK
2、首先使用 vim 新建一个配置文件
$ sudo vim /etc/udev/rules.d/70-Android.rules
内容填写如下
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9015",MODE="0666"
其实每个人修改不同就两处 idVendor 和 idProduct, 参考刚才 lsusb Bus 002 Device 007: ID05c6:9015 Qualcomm, Inc.
3、运行以下命令:
sudo chmod a+rx /etc/udev/rules.d/70-android.rules
sudo /etc/init.d/udev restart
4、在 Android sdk 的 tools 目录下运行 (这一步很重要,必须要sudo,否则没效果)
sudo ./adb kill-server
5、修改完成后,将手机USB线与电脑断开,再连就会显示OK !
$ adb devices
List of devices attached
1234567890ABCDEF device
参考文章