背景信息

在上个月的英特尔信息技术峰会 (IDF) 上,谷歌和英特尔宣布将就面向 x86 英特尔架构的 Android* 进行合作。这意味着除 ARM 之外,Android* 也将能够正式支持英特尔 CPU 家族。作为 GNU GPL v2 条款之下的唯一一款开源虚拟软件解决方案,跨平台 Virtualbox 为面向 x86 的开源 Android* 提供了一款快捷、简单的解决方案。它允许开发人员在没有硬件的情况下快速开发、测试或移植其现有应用。借助英特尔、谷歌和 OEM 合作伙伴存储库中的标准系统映像 (iso/vdi),开发人员可在指定的平台上测试和验证其应用,并使其应用能够更快加入到目标应用商店。本文是一系列博客文章的第一篇。这一系列博客将介绍以下内容:用于支持使用虚拟 Android* 开发、测试和验证应用的客户驱动解决方案;基于 VDI 转换的非常规安装;桥接网络;以及集成 Android* Eclipse/DDMS 平台。

面向英特尔 x86 架构的 Oracle 完整可视化工具

Oracle Virtualbox 平台程序包具有开源和跨平台特性,支持 Windows、IOS、Linux 和 Solaris 操作系统。其二进制根据 2.0 版 GPL 发布,可从 http://www.virtualbox.org/wiki/Downloads 下载。它支持在 Windows、Linux 和 IOS 上运行相同的虚拟操作系统(在单个 .vdi 文件中),在开源和跨平台价值链(主机操作系统、Virtualbox、Eclipse (Android))中发挥着至关重要的作用。

从谷歌网站下载谷歌 Android x86 iso 映像

进入 Google Code 站点

http://code.google.com/p/android-x86/downloads/detail?name=android-x86-2.2-generic.iso&can=2&q= ),根据您的喜好下载 Android*。需要注意的是,Android*-x86 2.2 版Generic和 2.3 版Ginger Bread已经过测试和确认,可通过桥接网络适配器配置支持局域网和无线连接。相同的 iso 映像也可从  www.android-86.org  上下载。

在 Virtualbox 中安装和设置 Android*

启动 Oracle VM Virtualbox Manager,并按照以下步骤操作:
• 单击“New(新建)”:1)  名称: Android*-x86 2.2 Generic,2)  操作系统: Linux,3)  版本: Linux 2.6。
•  内存: 256- 512MB(取决于您笔记本电脑/台式机电脑的内存)。
•  虚拟硬盘: 创建新硬盘
•  硬盘存储类型: 固定大小存储
•  虚拟硬盘的位置和大小: 默认值为 8 GB。为单个 vdi. 文件选择您偏好的位置

开始安装之前,请确保参数设置如下:



单击顶部菜单上的“Settings(设置)”,然后选择“Storage(存储)”。单击“IDE Controller(IDE 控制器)”旁边的绿色“+”图标,添加您从谷歌网站上下载的 Android*-x86-2.2 Generic iso 映像,然后单击“OK(确定)”。



单击“Start(开始)”继续安装:



使用上下方向键高亮选中“ Installation - Install Android*-x86 to harddisk(安装 – 将 Android-x86 安装到硬盘) ”,然后按“Tab”键进入编辑模式,并输入以下内容(区分大小写。见上图):

•  DATA=sda1 SDCARD=sda5

这一步非常重要,因为我们需要设置 Android* 的主要分区和 SD 卡的逻辑分区,以便之后能够使用模拟 SD 卡来传输文件。您将发现这非常方便。

在下几个屏幕上,依次执行以下操作:

• 创建/修改分区
• 高亮显示可用空间,并使用 左右方向键选择“ New(新建)
• 选择“ Primary(主要)
• 将 7000MB 设置为您的 sda1 分区(或者,您也可以设置您喜欢的大小,如果硬盘空间足够大)
• 选择“ Begingning(开始)
• 选择“ Bootable(启动盘)
• 选择“ Write(写入)
• 选择“ Yes(是) ”确认写入。
• 高亮显示剩余的可用空间
• 选择“ New(新建)
• 选择“ Logical(逻辑)
• 选择所有剩余的硬盘空间
• 确保不要将 sda5 设置为启动盘(不要选择“Bootable(启动盘)”)
• 写入 sda5 分区并单击“yes(是)”进行确认。
• 选择“ Quit(退出)
• 您将看到以下表格创建完成:



单击“OK(确定)”继续安装,并完成以下步骤:

• 将 sda1 格式化为 ext3
• 单击“Yes(是)”安装启动加载器 grub
• 单击“Yes(是)”将 /system 目录安装为可读写目录
• 选择“Create a fake SD card(创建一个虚拟 SD 卡)”
• 全部使用默认大小 2047 MB

现在请坐下、放松心情,等待安装完成。重新启动之前,请记住您仍有一个被加载为虚拟启动 CD-ROM 的 Android* 2.2 installation iso 映像。因此您必须返回到“Setting->Storage(设置->存储)”以删除该 iso 映像。现在请重新启动:

在开始运行虚拟 Android* 之前,您需要首先单击顶部菜单上的“Machine(机器)”并选择“ Disable Mouse Integration(禁用鼠标集成) ”。单击 Android* 中的任意区域,鼠标图标将变成更深的颜色。现在,您可以像在真正的 Android* 设备上一样,在您的笔记本电脑上随心所欲的运行虚拟 Android*。完整的虚拟 Android* 作为单个 .vdi 文件保存在  C:\Users\yourname\.VirtualBox:  下



笔记本电脑上的虚拟 Android*-X86 常用按键

最开始时,您将需要单击顶部菜单上的“ Machine(机器) ”,然后选择“ Disable Mouse Integration(禁用鼠标集成) ”以进入虚拟 Android(按下右侧“ Ctrl ”键释放鼠标):

• Esc 键 = 后退 1 屏
• Window 键 = 返回到 Home 键
• 右侧 Ctrl 键 = 释放鼠标键锁
• 右键单击鼠标:后退键
• Home = Home 按钮
• Alt-F1 = 进入终端
• Alt-F7 = 退出终端
• 菜单键:Android 底部菜单
• Alt-F4:关机

设置 SD 卡

除了打电话、定位服务和距离感应器等功能外,Virtualbox Android* 几乎具有 Android* 设备的所有功能(与任意一款模拟器一样,包括谷歌 AVD)。此外,由于具有以虚拟方式运行 Android* 的功能,Virtualbox Android* 还为那些不希望因为 Anroid* 而将电脑搁置一旁的用户提供了一款替代解决方案。要开始体验 Virtualbox Android*,您要做的第一件事是安装 SD 卡并启用从 Android* InMarket 外部安装。要开展此项工作,首先转至“Setting(设置)”:

• 进入“Setting -> Appstore -> Storage settings ->SD card(设置 -> Appstore -> 存储设置 -> SD 卡)”
• 安装 SD 卡
• 格式化 SD 卡。



将您的虚拟 Android* 像真实设备一样连接到互联网

根据您将主机笔记本电脑连接到互联网时采用的方式,您将需要进行不同的网络设置,以将您的 Android* 连接到互联网:

•  无线: 如果您通过无线适配器连接到互联网,那么在您启动虚拟 Android* 之前,您需要进入“ Setting  ->  Network (设置->网络)”以启用您的无线网络适配器:



•  网线(五类): 如果您使用五类线缆通过网络端口连接到互联网,那么在您启动虚拟 Android* 之前,您需要进入“ Setting  ->  Network (设置->网络)”以启用您的网络适配器:



桥接适配器选项。所有网络功能同真实设备一样,并提供:

• 在单台笔记本电脑上双向访问客户端和主机。
• 在子网上实现双向访问。
• 在虚拟 Android* 之间实现双向访问

选择正确的网络适配器之后,现在请启动您的 Android。解锁屏幕并键入“ Alt+F1 ”以进入 Android* 终端窗口,然后输入典型的 Linux 命令: Netcfg 。如果您发现  eth0  从您的 DHCP 服务器获取了一个 IP 地址,则表示您的 Android* 已连接到互联网:



在谷歌 Android* Market 上购物之前,请先加载一些免费应用

启动 浏览器 并确认您的虚拟 Android* 已像真实设备一样连接到互联网:



然后,启动  AndAppStore  并获取一些免费应用以开发和测试 Android* 应用。当前,Android-x86 2.2 AndAppStore 中包含约 5,000 款应用:



其中,我发现最有用的一款应用为  File Expert (Utilities::File & Disk Management) 。借助该应用,您可以在您的虚拟 Android* 上设置  Web share(Web 共享) 和  FTP share(FTP 共享) ,以便免费下载和上传文件。当您开始构建自己的开发环境时,这尤其方便。



您可以设置自己的用户名和密码,以增强安全性。

开发和测试您的 Android* 应用(.apk 程序包)

谷歌应用全部以 .apk 扩展名打包,并存储在  /system/app  文件夹下。借助虚拟 Android*-x86,您可以轻松上传/下载 .apk 程序包:



将您的 .apk 程序包上传到  /system/app  文件夹后,您即可通过 Alt-F1 和运行以下命令来访问终端:

chown 1000:1000 /system/app/yourpackage.apk

随后,您的应用将显示在 Android* 菜单中。 

测试不同的屏幕尺寸和分辨率

默认情况下,virtualbox 中的 Android* 以 800x600 的分辨率显示。您可轻松地将屏幕大小和分辨率更改为您喜欢的尺寸或与您的目标 Android* 设备相同的尺寸。为此,您需要在 Android* 开始菜单上连按两次“e”以进入 grub 编辑菜单,并在以下项目的末尾输入  vga=ask:



然后按下“b”启动您的 Android*。屏幕大小和分辨率选项显示如下。您可以随意选择您希望启动 Android* 的尺寸/分辨率:



Virtualbox 与谷歌 Android* 虚拟设备 (AVD) 中的 Android*-x86 有何差异?

毫无疑问,Android*-x86 在 Virtualbox 中要比在谷歌 AVD 中快。以下列举了两者之间的一些区别:

Virtual Box:

• 快:基于 x86(与 iOS 或 WP7 模拟器相同)
• 仅模拟 User-mode
• OS 映像 (.vdi) 易于传输和定制,以满足不同要求。
• 支持快捷、方便的截取快照

谷歌 Android* SDK 中的谷歌 AVD:

• 慢 – 基于 ARM (ARM-eabi)
• 完整系统 QEMU:模拟整个客户系统。
• 其它 Dalvik VM,需要运行 Android* 应用的字节码

更多相关文章

  1. android 修改AVD的存放位置
  2. android开发之android的平台架构及特性
  3. Android(安卓)Studio下载安装使用教程
  4. 如何搭建Android的开发环境->安装虚拟机篇(一)
  5. 【技术直通车】处理ArcGIS Android工程和ADT v17中的依赖
  6. 谷歌Android手机应用开发环境的搭建
  7. 谷歌Android手机应用开发环境的搭建
  8. 谷歌Android手机应用开发环境的搭建
  9. Android(安卓)开发平台之我见 Android(安卓)开发

随机推荐

  1. Android新手入门 FAQ
  2. Android学习札记13:为什么更推荐使用Parce
  3. 在 Android 上使用协程(三) :Real Work
  4. Android网络游戏之神农诀项目开发--视频
  5. 《Android和PHP开发最佳实践》迷你书
  6. Android NDK入门实例 计算斐波那契数列一
  7. Android换肤的两种思路
  8. android利用JNI调用C++自定义类
  9. 利用HTML5开发Android笔记
  10. Google 官方確定不給 Nexus One 吃冰淇淋