日期:2014-05-16  浏览次数:20537 次

Ubuntu(Linux)下手机调试Android程序(小米手机连接上Android ADB)

我觉得对于一个Android程序员来说,不能用手机调试程序是多么痛苦的一件事情呀!!!至少我是这样哈

刚用Ubuntu的我,马上就碰到了这个问题哈,我的小米2S不能够被android tools adb 识别到!

下面看下如何解决这个问题~~~~


1.找出小米2S设备接上电脑之后的ID属性信息

lsusb: 列出当前所有USB的使用情况,和使用USB的设备信息

通过这个命令,我们可以通过先lsusb,再把小米2s手机的usb拔掉,再lsusb的方法,来得到小米手机对应的ID信息


root@xiaoyaomeng:/home/xiaoyaomeng/software# lsusb
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 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 003: ID 04f2:b1e5 Chicony Electronics Co., Ltd
Bus 002 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 002 Device 008: ID 2717:9039  (和下面的结果相比,很容易找出这个就是小米手机哈!)


root@xiaoyaomeng:/home/xiaoyaomeng/software# lsusb
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 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 003: ID 04f2:b1e5 Chicony Electronics Co., Ltd
Bus 002 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
root@xiaoyaomeng:/home/xiaoyaomeng/software#


2.设置设备属性信息到50-android.rules


sudo gedit  /etc/udev/rules.d/50-android.rules

在打开的50-android.rules中输入:

(我小米手机检测到的Bus信息是:Bus 002 Device 008: ID 2717:9039, 大家根据自己检测到的信息对应修改下面这段里的数字哈!)


SUBSYSTEM=="usb", SYSFS{idVendor}=="2717", MODE=="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="2717", MODE=="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="2717", ATTR{idProduct}=="9039", SYMLINK+="android_adb"


完了之后保存,给这个文件进行扩充权限


sudo chmod a+rx /etc/udev/rules.d/50-android.rules

这样就设置好了属性信息了,然后把正在运行的udev这个server重启一下,很容易理解,因为我们设置了属性哈,所以当然希望它重启哈!

sudo service udev restart 


3.重启adb,看看是否可以检测到手机设备了!

如果你没有把Android SDK的platform-tools加入到环境变量中,那么cd到Android SDK所在目录的platform-tools


cd 你androidSDK的目录/platform-tools/

sudo ./adb kill-server

sudo ./adb devices


如果你执行完这几条命令之后看到的是

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached