在linux中eclipse连接android手机开发程序

本文章参考自以下博客:http://hi.baidu.com/sunblackshine/blog/item/9a95c9d201a06539960a163d.html

开发android程序,当然能用真机看一下效果是最好的。

在linux下,android手机连接linux并不用装驱动,但是遗憾的是在eclipse那里并不能被识别出来。不过,其实只需要下面的几句就可以解决了。

1、首先我们需要使用以下命令实时监视系统信息

sudotail-f/var/log/messages

2、此时在usb接口上连接手(手机需要切换到usb调试模式设置-->应用程序-->开发-->usb调试)

messages会出现

Apr518:24:40msdxkernel:[10873.569350]usb2-1.3:newhighspeedUSBdevicenumber12usingehci_hcd

Apr518:24:41msdxkernel:[10873.655290]usb2-1.3:NewUSBdevicefound,idVendor=0bb4,idProduct=0c86

Apr518:24:41msdxkernel:[10873.655295]usb2-1.3:NewUSBdevicestrings:Mfr=1,Product=2,SerialNumber=3

Apr518:24:41msdxkernel:[10873.655298]usb2-1.3:Product:AndroidPhone

Apr518:24:41msdxkernel:[10873.655300]usb2-1.3:Manufacturer:HTC

Apr518:24:41msdxkernel:[10873.655302]usb2-1.3:SerialNumber:SH1CWV800985

Apr518:24:41msdxkernel:[10873.656901]scsi12:usb-storage2-1.3:1.0

Apr518:24:41msdxmtp-probe:checkingbus2,device12:"/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3"

Apr518:24:41msdxmtp-probe:bus:2,device:12wasnotanMTPdevice

Apr518:24:42msdxkernel:[10874.656632]scsi12:0:0:0:Direct-AccessHTCAndroidPhone0000PQ:0ANSI:2

Apr518:24:42msdxkernel:[10874.656752]scsi:killingrequestsfordeadqueue

Apr518:24:42msdxkernel:[10874.656914]scsi:killingrequestsfordeadqueue

Apr518:24:42msdxkernel:[10874.656984]scsi:killingrequestsfordeadqueue

Apr518:24:42msdxkernel:[10874.657043]scsi:killingrequestsfordeadqueue

Apr518:24:42msdxkernel:[10874.657255]scsi:killingrequestsfordeadqueue

Apr518:24:42msdxkernel:[10874.657450]scsi:killingrequestsfordeadqueue

Apr518:24:42msdxkernel:[10874.657611]scsi:killingrequestsfordeadqueue

Apr518:24:42msdxkernel:[10874.657676]scsi:killingrequestsfordeadqueue

Apr518:24:42msdxkernel:[10874.658087]sd12:0:0:0:Attachedscsigenericsg2type0

Apr518:24:42msdxkernel:[10874.661002]sd12:0:0:0:[sdb]AttachedSCSIremovabledisk

看到上面红色字体了吗,那就是udev识别的usb调试设备标识idVendor=0bb4,idProduct=0c86

关于idVendor=0bb4,貌似大多数android手机都是一样的。

3、配置udev规则文件,调整设备文件权限

接下来我们就可以根据前面获得的usb调试设备标识来调整我们的设备文件的各种属性以帮助androidsdk识别usb调试设备。

在终端下输入su,然后输入超级管理员密码,以超级管理员权限登录。

4、创建udev规则文件:输入gedit/etc/udev/rules.d/50-android.rules

5、在打开的文本编辑器中输入以下内容:

SUBSYSTEMS=="usb",ATTRS{idVendor}=="0bb4",SYMLINK+="android_adb",OWNER="sunshine"

其中,OWNER里面对应的是你自己的用户。ATTRS{idVendor}中对应的则是第2步中得到的那个信息。

(这里要特别注意,我们的目的就是使android手机调试设备文件的所有者权限与开启的adb服务的所有者权限相一致,这样usb设备才能被adb服务识别)。

6、运行以下命令使刚更改的配置生效(此处针对于Fedora及其衍生版本,其他Linux版本请查看udevman)

sudoudevadmcontrol--reload-rules

7、重新插入USB,生成新的设备文件

这时会在/dev/下出现一个连接文件android_adb,它指向的设备就是你的USB调试的手机设备。

到这里应该就可以了。

相关推荐