在Linux下安装Android开发环境并以USB调试方式链接

我的机器是HTC Tattoo
固件版本是Android1.6
开发宿主系统MagicLinux2.5

因此下载android1.6 SDK

或者


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

去eclipse官方网站下载jee-eclipse for linux

安装ADT
打开jee-eclipse
Help--> Install New SoftWare..
Add...
添加Location:
点击下一步 接受 下载 安装。

指定SDK目录
重启eclipse后点击
Window--> Preferences--> android -->SDK Location:
指定路径为~/android/android-sdk-linux_x86-1.6_r1
OK。现在可以新建虚拟机创建android工程进行开发调试了。
这些在网上有大量教程,请自己google。


下面是用USB调试方式连接手机的方法
这里比较麻烦的是Linux不会自动配置好android手机驱动的权限和设备链接文件文件
因此我们需要手动配置,这里涉及到udev的配置和设备的查看技巧:

使用命令监视系统信息
sudo tail -f /var/log/messages

此时在usb接口上连接手机
messages会出现
un 13 18:12:08 MagicLinux kernel: usb 2-1: new high speed USB device using ehci_hcd and address 57
Jun 13 18:12:09 MagicLinux kernel: usb 2-1: New USB device found, idVendor=0bb4, idProduct=0c02
Jun 13 18:12:09 MagicLinux kernel: usb 2-1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Jun 13 18:12:09 MagicLinux kernel: usb 2-1: Product: Android Phone
Jun 13 18:12:09 MagicLinux kernel: usb 2-1: Manufacturer: HTC
Jun 13 18:12:09 MagicLinux kernel: usb 2-1: SerialNumber: HT9A4LG04864
Jun 13 18:12:09 MagicLinux kernel: usb 2-1: configuration #1 chosen from 1 choice
Jun 13 18:12:09 MagicLinux kernel: scsi50 : SCSI emulation for USB Mass Storage devices
Jun 13 18:12:14 MagicLinux kernel: scsi 50:0:0:0: Direct-Access     HTC      Android Phone    0100 PQ: 0 ANSI: 2
Jun 13 18:12:14 MagicLinux kernel: sd 50:0:0:0: Attached scsi generic sg2 type 0
Jun 13 18:12:14 MagicLinux kernel: sd 50:0:0:0: [sdb] Attached SCSI removable disk
Jun 13 18:17:54 MagicLinux kernel: usb 2-1: USB disconnect, address 57
Jun 13 18:17:57 MagicLinux kernel: usb 2-1: new high speed USB device using ehci_hcd and address 58
Jun 13 18:17:57 MagicLinux kernel: usb 2-1: New USB device found, idVendor=0bb4, idProduct=0c02
Jun 13 18:17:57 MagicLinux kernel: usb 2-1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Jun 13 18:17:57 MagicLinux kernel: usb 2-1: Product: Android Phone
Jun 13 18:17:57 MagicLinux kernel: usb 2-1: Manufacturer: HTC
Jun 13 18:17:57 MagicLinux kernel: usb 2-1: SerialNumber: HT9A4LG04864
Jun 13 18:17:57 MagicLinux kernel: usb 2-1: configuration #1 chosen from 1 choice
Jun 13 18:17:57 MagicLinux kernel: scsi51 : SCSI emulation for USB Mass Storage devices
Jun 13 18:18:02 MagicLinux kernel: scsi 51:0:0:0: Direct-Access     HTC      Android Phone    0100 PQ: 0 ANSI: 2
Jun 13 18:18:02 MagicLinux kernel: sd 51:0:0:0: Attached scsi generic sg2 type 0
Jun 13 18:18:02 MagicLinux kernel: sd 51:0:0:0: [sdb] Attached SCSI removable disk



然后在/etc/udev/rules.d下创建文件
[sunshine@MagicLinux rules.d]$ cat 50-android.rules
SUBSYSTEMS=="usb",ATTRS{idVendor}=="0bb4",SYMLINK+="android_adb",OWNER="sunshine"
ATTRS{idVendor} 为上面获得的 idVendor
OWNER为你当前的用户,也是你运行adb服务的用户(此处要注意,我们指定这里的用户就是为了与adb服务的所有者权限相一致)。

运行命令使刚更改的配置生效(此处针对于Fedora及其衍生版本)
sudo udevadm control --reload-rules

再次插入USB
在/dev/下出现一个连接文件 android_adb指向的设备就是你的USB调试的手机设备。

此时在~/android/android-sdk-linux_x86-1.6_r1/tools下运行
$./adb kill-server
$./adb start-server
$./adb devices
List of devices attached
HT9A4LG04864    device

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

在eclipse中也可以发现连接的手机设备,进行开发调试。

注:在获得idVendor时也可以使用
udevinfo -a -p /sys/class/usb_device/...
udevinfo -e
udev配置的时候可以使用任何一个参数(idVendor)来指定设备。
等命令,方法多样,请参考udev的相关命令文章。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/26860.html