在Android开发中通过adb连接Android X86进行调试

1. 简介

通常进行Android应用开发需要通过AVD(Android Virtual Device)进行调试,由于AVD是模拟Android设备的运行环境,在启动加载过程中运行速度非常慢,本文介绍另一种方式,通过ADB(Android Debug Bridge)连接Android X86 环境,以取代通过AVD进行应用调试。

2. 系统环境

  • 客户端 Ubuntu 14.04 LTS
  • 虚拟机 VirtualBox 4.3.18
  • Android X86 4.3
  • Eclipse 4.4 + ADT
  • JDK 1.7.0_67

3. 设置步骤

Step1. 安装VirtualBox

1)将VirtualBox repository 加入源:

1
sudo sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian saucy contrib" >> /etc/apt/sources.list'

2)在Terminal中输入以下命令:

1
2
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
sudo apt-get update && sudo apt-get install virtualbox-4.3-18

3)另外可下载Extension Package

1
wget http://download.virtualbox.org/virtualbox/4.3.18/Oracle_VM_VirtualBox_Extension_Pack-4.3.18-96516.vbox-extpack

Step2. 安装Android X86

Android x86 即运行于 x86 PC上的Android操作系统,目前已经支持大部分安卓程序。 安装文件可到 http://www.android-x86.org/download 下载,目前已有4.4版本下载。 在VirtualBox中安装Android X86不再细述。

Step3. Eclipse中ADT安装

在Eclipse菜单中选择 Help > Install New Software,点击Add,输入以下Url: https://dl-ssl.google.com/android/eclipse/

注意:Url必须以Https开头;

然后进行plugin安装;

Step4. 配置ADB

在Android SDK的Tools文件夹下包含着Android模拟器操作的重要命令ADB,ADB的全称为Android Debug Bridge,借助该工具,我们可以管理设备或手机模拟器的状态 。 在Android X86虚拟机装过程中,我们将网址设置成NAT方式,因此需要配置虚拟机参数,进行数据转发,执行以下命令:

1
VBoxManage modifyvm <Your_VM_Name> --natpf1 adb,tcp,*,5555,*,5555

以上命令也可以在VirtualBox虚拟机设置中进行配置,选择 网络->高级->端口转发 在弹出窗口中增加转发配置即可。

Step5. 连接调试

1)启动Ancroid X86 虚拟机,输入命令查看本地5555端口是否侦听

1
$ netstat -a 

2) adb连接 Android X86

1
2
3
4
5
6
7
8
#连接Android X86
$ adb connect localhost:5555

#log输出
$ adb logcat 

# 取消连接
$ adb disconnect

3) 在eclipse中运行应用,Run as->Android Application ,选择 Choose a running Android Device,确定后Eclipse将进行deploy,然后在Android X86中运行应用。

4. 总结

通过Android X86的确较大地提高了应用开发调试的效率,不过Android X86的版本跟进相对滞后于Android系统的推出,一些教新的版本还无法安装调试。

5. 参考文档

[1]. How To Install VirtualBox 4.3. On Ubuntu 14.04
[2]. Android-x86 - Porting Android to x86 - Debug Howto