Ubuntu 12.04 64位 使用 Android 问题解决


问题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 没有权限

  1. $ adb devices 
  2. List of devices attached   
  3. ????????????    no permissions 

网上解决很多,大致相同,我将自己机器的处理方法记录一下

1、 lsusb 查看 USB 设备情况

  1. $ lsusb 
  2. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
  3. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
  4. Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub 
  5. Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub 
  6. Bus 001 Device 003: ID 138a:0007 Validity Sensors, Inc. VFS451 Fingerprint Reader 
  7. Bus 001 Device 004: ID 17ef:600e Lenovo   
  8. Bus 001 Device 005: ID 05c8:0403 Cheng Uei Precision Industry Co., Ltd (Foxlink) Webcam 
  9. Bus 002 Device 003: ID 1058:1110 Western Digital Technologies, Inc.   
  10. Bus 002 Device 004: ID 062a:0201 Creative Labs Defender Office Keyboard (K7310) S Zodiak KM-9010 
  11. 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 

参考文章

Ubuntu下ADB调试Android找不到设备的解决方法

相关内容