使用HAXM加速的Android x86模拟器(和一些问题)
装了个Android SDK r17,看文档说可以支持在windows下加速emulator-x86模拟器,于是去Intel的官网装了个加速外挂(IntelHaxm),和Intel发布的2.3.7系统镜像。用html5的benchmark测试一下,发现模拟器的速度真的有明显的提高:
1. 安装IntelHaxm前:x86是2fps左右
2.?安装IntelHaxm后:arm是2fps左右,x86是13fps
界面的速度相差不大,但如果是用来测试游戏(例如3D渲染)的话,加速的效果会比较明显,感觉速度可以跟以前在vmware上跑Android-x86有得拼。很推荐用来调试3D。
?
注意:
1. 并不是所有Android程序都可以运行在加速模式的x86模拟器下,如果程序的AndroidManifest.xml指定android:installLocation="preferExternal",则安装失败,提示
Installation error: INSTALL_FAILED_CONTAINER_ERROR
见
http://code.google.com/p/android/issues/detail?id=27872
如果是android:installLocation="auto"或缺省都可以安装,但无法移动到SD卡。
?
2. 多次旋转后可能无法改变重力方向(除非退出应用程序)
?
(不过Android官方出的x86的4.0.3系统没有这两个问题)
?
?
----------------------
以下是相关链接:
1. Intel官网出的镜像和加速器:
http://developer.android.com/guide/developing/devices/emulator.html
http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/
http://software.intel.com/en-us/android/
http://software.intel.com/en-us/articles/android-237-gingerbread-x86-emulator-image-add-on/
下载addon_intel_sysimg_2.3.7_api-10.zip
和extra_intel_haxm-windows.zip
?
2. 因为最近Android官网的下载连接不到(4/14貌似可以正常下载更新了,请尽量用SDK管理器下载),所以Android SDK r17的组件是在这里下载的(sdk入门包http://dl.google.com/android/android-sdk_r17-windows.zip则是用迅雷下载的),然后自己解压到一起:
http://sourceforge.net/projects/standalonesdk/files/
* 目录/tools:android-sdk_r17-windows.zip?解压,包括顶层目录的AVD Manager.exe和SDK Manager.exe
* 目录/platform-tools:platform-tools_r11-windows.zip解压
* 目录/platforms:android-2.3.3_r02-linux.zip解压,作为其中的一个子目录
* 目录/add-ons:addon_intel_sysimg_2.3.7_api-10.zip解压,作为其中的一个子目录
最后一定要运行extra_intel_haxm-windows.zip内的安装程序,安装一个服务,否则emulator-x86.exe是不加速的。
?
3. 测试页面(桌面环境下为60fps):
http://html5-benchmark.com/
安装和运行avd的方式略,这里我安装了两个avd,一个叫intel,另一个叫arm,分别对应x86和arm的CPU。
下面是我在xp下的测试截图:
?
(1)x86(IntelHaxm加速后,模拟器速度明显加快)
?

?
?
?
---------------------------------------------
?
?
(2)x86(IntelHaxm加速前)
?

?
?
---------------------------------------------
?
(3)arm(IntelHaxm加速后,但模拟器速度没有影响)
?

?
?
?
?
20120524:
Android官方自己放出了x86的镜像(Android 4.0.3),默认的屏幕相对于上面那个要慢些,不过如果选择QVGA则是最快(达到20fps)。平板虽然也比较慢,居然和默认的手机屏幕差不多快(7fps左右)。
?
最值得高兴的事情是,它没有intel发布的2.3.7镜像的那两个bug——
可以正常转屏,
也可以正常安装
android:installLocation="preferExternal"
的应用程序。
?
默认的WVGA800(7fps)

?
QVGA(20fps)
?

?
平板(7fps)

?
结论:速度跟屏幕密度有关,如果想跑快些,就选QVGA(低密度)吧。
?
?
?
?
?
20120615
可以使用的命令行启动方式(Windows下):
>emulator-x86 -show-kernel -noskin -dpi-device 480 -avd intel
(-dpi-device可以缺省,也可以按实际情况设置——数值越小,屏幕密度越大)
?
?
20120621:
貌似加速过的Android 4.0.3镜像也有一些问题(安装多次会不成功?),所以习惯上我仍然是用2.3的ROM(个人喜好而已)进行加速的模拟。
其实HAXM加速还有一个大问题,就是启动过后XP系统无法正常休眠(我觉得可能和读写硬盘有关)
?
?
?
?
?