Ubuntu下以USB调试方式链接Android手机

FROM:http://chiu-weiheng.iteye.com/blog/1408450

本文主要是解决Linux下android手机usb调试设备不能正确识别的问题, 首先附上原文的  Linux下搭建android开发环境快速指南。

 

机器型号   ZTE U880

固件版本 android 2.3.7
开发宿主系统  Oneiric (Ubuntu 11.10)

 

配置android SDK开发环境 (这一段我没有去试,我是通过官方的linux安装引导包下载的)

 

1、下载android1.6 SDK
因为我的固件版本为android1.6因此下载sdk1.6
http://dl.google.com/android/android-sdk-windows-1.6_r1.zip 
http://kugou.me/android-sdk-linux_x86-1.6_r1.tgz

将SDK解压到
~/android/android-sdk-linux_x86-1.6_r1

2、安装eclipse
因为android官方推荐使用eclipse,而且官方也推出了eclipse插件ADT辅助开发。
去eclipse官方网站下载eclipEclipse IDE for Java EE Developers (For Linux 32/64 bit)
eclipse不用安装,直接解压到目录中运行eclipse就可以了。

3、安装ADT
打开eclipse
Help--> Install New SoftWare..
Add...
添加Location:http://dl-ssl.google.com/android/eclipse
点击下一步 接受 下载 安装。

4、配置ADT
安装ADT后会重启eclipse
首先需要指定SDK目录:
Window--> Preferences--> android -->SDK Location:
指定路径为~/android/android-sdk-linux_x86-1.6_r1
OK。现在可以新建虚拟机创建android工程进行开发调试了。
关于如何使用eclipse+ADT开发android应用程序在网上有大量的教程,请自己google :)

--下面是用USB调试方式连接手机的方法--

 

1、用USB接手机(手机需要切换到usb调试模式 设置-->应用程序-->开发-->usb调试)

 

lemon@*:~/android-sdks/platform-tools$ lsusb
... ...
Bus 001 Device 003: ID 5986:0241 Acer, Inc BisonCam, NB Pro
Bus 002 Device 006: ID 19d2 :1382 ONDA Communication S.p.A. 
Bus 002 Device 003: ID 1058:1023 Western Digital Technologies, Inc. 
Bus 003 Device 002: ID 147e:1001 Upek 
Bus 004 Device 002: ID 093a:2516 Pixart Imaging, Inc. 
Bus 005 Device 002: ID 0a5c:2150 Broadcom Corp. BCM2046 Bluetooth Device

看到上面紫色字体了吗,那就是udev识别的usb调试设备标识 idVendor=19d2 , idProduct=1382 
大多数ZTE android手机应该都一样。

事实上可以去官网查 USB Vendor IDs 列表:

http://developer.android.com/guide/developing/device.html#VendorIds

如: ZTE 19D2

 

2、配置udev规则文件,调整设备文件权限
接下来我们就可以根据前面获得的usb调试设备标识来调整我们的设备文件的各种属性以帮助android sdk识别usb调试设备。
在/etc/udev/rules.d下创建规则文件50-android.rules

# mk file with a new window

sudo gedit 50-android.rules

 

# add something as:

SUBSYSTEMS=="usb",ATTRS{idVendor}=="19d2 " ,SYMLINK+="android_adb",OWNER="lemon "

 

# save & close window

 

cat 内容如下: 
lemon@*:/etc/udev/rules.d$ cat 50-android.rules 
SUBSYSTEMS=="usb",ATTRS{idVendor}=="19d2" ,SYMLINK+="android_adb",OWNER="lemon"
 

ATTRS{idVendor} 为上一步获得的 idVendor 参数
SYMLINK 参数使设备目录增加一个连接文件指向原设备文件
OWNER
 为你当前的用户,也是你运行adb服务的用户
(这里要特别注意,我们的目的就是使android手机调试设备文件的所有者权限与开启的 adb 服务的所有者权限相一致,这样usb设备才能被adb服务识别)。 

运行以下命令使刚更改的配置生效 (用不了? 有事没事man一下了)
sudo udevadm control --reload-rules

 


4、拔插一下USB,生成新的设备文件
这时会在/dev/下出现一个连接文件android_adb,它指向的设备就是你的USB调试的手机设备。(我心急没去看那个文件)

 

5、开启adb服务,搜寻usb调试设备
在~/android/android-sdk-linux_x86-1.6_r1/tools下运行 
$./ adb kill-server
$./ adb start-server
$./ adb devices                             #列出所有已识别设备
List of devices attached

ZTE_SP920    device                 #这个就是我的手机usb设备了

 

安装一个apk试试吧
./adb install *.apk

 

在eclipse中也可以发现连接的手机设备,进行开发调试,当然前提是adb服务已经识别usb设备。
秀一张eclipse下调试android程序的图片:

 

注:获取设备的udev标识的方法多样, 上面介绍的方法只是其中一种,也是比较准确的一种 :)
如果你知道usb设备的设备文件,在获得idVendor时也可以使用其他命令,如:
udevinfo -a -p /sys/class/usb_device/...
udevinfo -e
而且在使用 udev 配置规则文件时可以使用任何一个参数来指定设备。

 

参考文章:

http://hi.baidu.com/sunblackshine/blog/item/9a95c9d201a06539960a163d.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值