为什么Android虚拟机比iOS和WP7的虚拟机要慢很多呢?原因如下:

1. Android 模拟器模拟的是 ARM 的体系结构(arm-eabi),而 iOS 和 WP7 的模拟器的目标体系结构都是 x86 的,另外 iOS 的模拟器中运行的 App 也是编译为 x86 的。这样一来 Android 模拟器需要做一些额外的二进制翻译工作。

2. Android 模拟器用的是 QEMU 的全系统模式(full system),也就说它模拟时需要启动整个 GUEST 系统,初始化各种模拟设备。相反的,iOS 和 WP7 的模拟器只是 user-mode 的模拟。

3. 在 Android 模拟器之中还需要跑一个 Dalvik VM,用以执行 Android 应用的 bytecodes。

综上所述,慢的一个主要原因就是虚拟机不是跑在x86上而是模拟的ARM,有没有办法弄个x86的Android呢?

答案是当然有———开源项目

万事俱备,只欠东风了,下面我就来讲一下我使用Android-X86和VirtualBox打造手机开发模拟器的整个流程

这里要提一点,如果你要下最新的4.0,请下载android-x86-4.0-eeepc-20111209.iso  这个版本,其他的都有bug,开机后会不断的crash,注意是09

2.在VirtualBox上创建虚拟机

操作系统选择Linux,版本选择Linux 2.6

创建虚拟硬盘

94041932_1.png

选择第一就可 VDI

94041932_2.png

接下来:

94041932_3.png

创建好以后就ok了

创建好以后还需要一些配置:

94041932_4.png

如果希望听到声音,则这样设置:

94041932_5.png

关键的网卡设置:

94041932_6.png

设置好以后就可以点启动进行android的安装了

94041932_7.png

选择install,建议先选第一个进入android系统,如果进去不报错再安装,这样保险一点

94041932_8.png

Create/Modify partitions

94041932_9.png

选择 NEW 来建立磁盘

94041932_10.png

属性请选择Primary

94041932_11.png

默认即可

94041932_12.png

选择Bootable

94041932_13.png

94041932_14.png

只管打yes就行,虽然s看不到

94041932_15.png

退出以后就能看到你刚才分的区了,然后把android装到这个区里就可以了

94041932_16.png

94041932_17.png

94041932_18.png

一路yes

94041932_19.png

选择sd分配sd

94041932_20.png

然后重启就行了

94041932_21.png

在设置里把启动顺序调整一下,如果不想费劲,把光驱里的iso路径去了就可以了,因为默认是先从光盘加载的

搞定这些直接点击 开始

94041932_22.png

选择进入系统

94041932_23.png

这样你的鼠标就能进入到模拟器中了

模拟器和你真机鼠标切换的快捷键在这里设置

94041932_24.png

这里我选择了左 ctrl

这样就ok了

但是有朋友可能要问,如果我调试程序,怎么让eclipse自动打包到我们的x86虚拟机上呢?

进入android系统的所有应用里

94041932_25.png

94041932_26.png

接着输入命令:dhcpcd eth0

等待命令执行完成后,继续输入:setprop net.dns1 8.8.8.8。最后可以切换到浏览器打开网页了。

有了ip就好办了,很多人是不是和我一样想到了adb connect

94041932_27.png

done,搞定,进到eclipse的DDM里面

94041932_28.png

这样就可以开发了,速度如飞啊,无论打包还是运行!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐