在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调试的手机设备。
到这里应该就可以了。