红联Linux门户
Linux帮助

Ubuntu 12.04 64位使用Android问题解决

发布时间:2014-08-08 15:34:30来源:linux网站作者:johnnycode

问题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