我的机器是HTC Tattoo
固件版本是Android
开发宿主系统MagicLinux
因此下载android1.6 SDK
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
去eclipse官方网站下载jee-eclipse for linux
安装ADT
打开jee-eclipse
Help--> Install New SoftWare..
Add...
添加Location:http://dl-ssl.google.com/android/eclipse
点击下一步 接受 下载 安装。
指定SDK目录
重启eclipse后点击
Window--> Preferences--> android -->SDK Location:
指定路径为~/android/android-sdk-linux_x86-1.6_r1
OK。现在可以新建虚拟机创建android工程进行开发调试了。
这些在网上有大量教程,请自己搜索。
下面是用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的相关命令文章。