构建Android在Windows上的x86模拟器(上)

Android SDK内建的模拟器运行很慢,即使采用网上的一些方法为其分配比较大的内存仍旧无济于事,这是由于其本身的构架而造成的:SDK内建的模拟器是运行在arm构架上的,那么当模拟器运行在x86构架的Windows上的时候,这中间就多了一个转换的过程,导致了SDK的模拟器在Windows上运行的时候特别慢。那么为了能流畅地运行模拟器,就可以想到使用基于x86的模拟器。笔者经过亲身试验,以下方法是可以的。

http://www.android-x86.org下载Android x86的镜像(可能需要FQ)。(如果被墙,可以到android-x86下寻找相关下载)

从网站的Download页面,可以选择不同版本的Android镜像,注意要选择eeepc类型的镜像才能在windows上运行。此处以Android 2.3 eeepc为例。

 

在Windows上安装Virtual Box,笔者使用的是4.1.2的版本。

新建一个虚拟机工程,类型选择Linux,版本是Linux 2.6,自己定义一个名字代表工程名:

为虚拟机分配内存,对于Android 2.x,一般512M足够了。这里笔者分配了1G的内存。

创建虚拟硬盘为HDD类型,一般用来开发的话,2G足够了:

点击“创建”,则可以在VirtualBox里面看到新建好的虚拟机文件:

接下来编辑刚才新建好的虚拟机,选择该虚拟机后,点击“设置”按钮,首先在“网络”页面里面,保证“启用网络连接”被启动,并选择连接类型为“桥接网卡”,剩下的保持默认值好了,之所以这么设置,是为了让后面的eclipse调试时可以让adb通过虚拟机的ip进行连接。

和普通的安装虚拟机一样,接下来需要加载Android iso:在“存储”页面中,选择“控制器:IDE”下面的盘片标记,并从右边“属性”标签内右侧的按钮中选择一个虚拟光盘,选择刚刚下载的Android 2.3 eeepc的ISO:

完成后,启动虚拟机,等待虚拟机窗口弹出,中间如果弹出其他的对话框,默认都先点击“确定”好了:

从启动菜单中,选择最后一个,意即将Android x86系统安装到虚拟机硬盘上。开始的几个选项都是让你可以在不安装Android的情况下,试用Android,类似Ubuntu的Live CD:

为Android x86系统创建分区:

新建一个Primary类型的sda分区,容量默认就最大(之前在VirtualBox中设置的HDD的容量--2G)好了:

并将其设置为Bootable,即可启动模式:

设置完成后,最后不要忘记将上述设置写入到当前的虚拟硬盘中(选择Write后,输入yes):

等待分区写入完成后,就Quit:

返回分区创建页面,选择刚刚创建的分区,则Android x86将被安装在这个分区上:

接下来一路Yes,等待Android系统写入到虚拟硬盘中:

最后就是要为我们的Android系统创建一个虚拟的SD卡了,注意,这里分配的容量不要使用默认的最大容量,因为,这个容量中一部分已经被系统占用了,如果你全部分配给SD卡,则之前的系统就白装了。这里笔者分配了一半的容量,即1024M:

待完成后就可以重启了。当然如果你还记得刚才我们是在VirtualBox中通过加载iso引导安装Android系统的话,这个时候你就必须修改VirtualBox的设置,使得虚拟机的第一启动是硬盘而不是光驱:直接关闭当前的重启窗口,在VirtualBox中修改虚拟机的设置(在“系统”页面中,勾选“启动顺序”中的选项,使得只有“硬盘”被选中即可):

完成后,即可启动虚拟机了,选择HDPI或者MDPI,而Debug mode一般来说用不到:

启动过程中弹出的对话框,默认都直接点击“确定”即可,最终,Android的页面出现了!

只不过,发现鼠标无法点击任何页面。解决方法是,将鼠标光标移动到Android屏幕内,然后按下键盘的Ctrl+Home组合键,在弹出的菜单中选择“控制”-〉“禁止自动独占鼠标“。然后在屏幕内任意一处点击一下,就可以出现鼠标了。如果要从虚拟机中出来,按下键盘右Ctrl键可。

 

现在创建的虚拟机的分辨率是宽屏的,且没有像SDK模拟器一样可以翻转。如果想使得虚拟机成为普通的手机竖屏,则需要修改VirtualBox的工程设置。请参考下篇

 

参考文献:

用Eclipse调试Android x86

android-x86 eclipse 网络设置(经验)

Android-x86入门之--各类问题总结

posted @ 2013-03-17 18:20  芈希有  阅读(8017)  评论(0编辑  收藏  举报