`

使用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官网出的镜像和加速器:(20150416:注意,现在最新的r05不支持XP,只有r03和之前版本支持XP,详细见下)

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则是用迅雷下载的),然后自己解压到一起:(20150416:建议使用最新版本的SDK,下载请使用代理或host工具,20150608:请使用最新的sdk安装包,因为很可能旧的SDK Manager无法更新最新的组件或直接无法显示组件,需要重新下载新的SDK Manager,最好的做法是重新安装一个新的环境(多个ADT共存),在使用一段时间后再切换过去以避免升级错误造成的麻烦)

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系统无法正常休眠(我觉得可能和读写硬盘有关)

 

 

 

 20130522:

1. HAXM貌似只能用于加速intel较新的CPU,对AMD的CPU无效(20150416:准确说应该是支持VT-x, EM64T, and Execute Disable Bit虚拟化技术的CPU,i3的CPU基本都支持了,写这篇文章的时候2012年已经很普及)。

2. 高版本的Android x86 ROM(例如4.1.2),可能会出现这样的情况:

用AVD Manager.exe启动会出错,无法运行模拟器;

但用命令行却可以运行(在控制台中使用emulator-x86 -avd <AVD名称>)。

猜测可能是因为AVD Manager.exe实际上调用了Java虚拟机,致使虚拟内存不足。

 

 

20131026:

附csdn论坛上提供的代理服务器IP(打开SDK Manager.exe,在Tools->Options中设置)

HTTP Proxy Server: 203.208.46.180

HTTP Proxy Port: 80

然后勾选下方的Force https://

(仅供参考,不保证能用) 

 (2015-04-16:貌似已经失效,勿使用,建议使用hosts工具或加速代理)

(20150716:国内镜像下载链接汇总:

http://www.androiddevtools.cn

 

 

20140401:

有时候4.4的ROM用虚拟机可以上网,但2.3的不可以,可以用以下方式解决

> adb shell

进入命令行,然后执行

# getprop

查看其中有一个系统属性

[net.dns1]: [10.0.2.3]

把这个属性改为另一个值

# setprop net.dns1 10.0.2.4

4.4的ROM之所以没有问题,是因为它默认有两个DNS:net.dns1和net.dns2,

分别是10.0.2.3和10.0.2.4

(20150805补注:

如果模拟器重启,这个设置可能会消失

另外出现上不网的情况还有可能是:启动的时候禁用了网卡(或拔掉),但后来又连上(或激活了网卡),这时只要重启一下模拟器即可(确保系统启动过程中是有网络的)

)

 

20140604

启动模拟器时出现PANIC: Could not open: <AVD名称>

见:http://www.dotblogs.com.tw/nethawk/archive/2013/04/21/102043.aspx

解决办法是在启动模拟器之前指定环境变量(或者添加到全局环境变量中)

set ANDROID_SDK_HOME=D:\Users\Administrator

这个变量的值所在路径就是.android目录所在路径(或者参考AVD Manager界面上显示的路径)

 

 20140715

模拟器无法转屏(转屏后显示内容不会旋转)

Android - Emulator in landscape mode, screen does not rotate

http://stackoverflow.com/questions/7394447/android-emulator-in-landscape-mode-screen-does-not-rotate

原因好像是新版的SDK Tool(AVD管理器)在创建AVD的时候默认不勾选hardware keyboard present选项,如果要打开的话需要在Android Virtual Device Manager中按Edit按钮勾选该选项。

(这个也解决在Android模拟器中无法用硬件键盘代替软键盘的问题)

 

 20150131

安装HAXM提示错误:Intel Execute disable Bit(XD)is not turned on

 

可能没有开启BIOS设置中的虚拟化开关,

也可能是C:\boot.ini中包含了/NOEXECUTE=alwaysOff,去除这个参数即可

下面那篇文章是把alwaysOff替换成OPTIN,其实只要删除就可以了。

 

写道
http://bbs.shouyoudao.com/b/forum.php?mod=viewthread&tid=78&extra=page%3D1
intel Execute disable Bit(XD)没开启的解决办法

1,先进去bios找到intel Execute disable Bit(XD)这项修改成Enabled。
需要修改的项:Intel(R)Virtualization Tech (中文:因特尔虚拟化技术)把默认Disabled (中文:关闭)状态修改为Enabled(中文:开启)。
如果看到Execute-DisableBit Capability (中文:执行禁用位功能)这项显示为disabled(中文:关闭)也要修改成Enabled(中文:开启)。
注意:第一种方法不可用的情况下(即电脑BIOS里没有Intel execute disable bit 这项时使用第2种方法)

2,如果电脑bios界面没有intel Execute disable Bit(XD)这项, 右击“我的电脑”-属性-高级
点击“启动和故障修复”的“设置“按钮
点击“编辑”可见到如下所示的文档:
Multi(0)disk(0)rdisk(0)partion(1)\WINDOWS="Microsoft Windows XP Proressional" /NOEXECUTE=OPTIN /FASTDETECT /NOEXECUTE=alwaysOff
把NOEXECUTE=alwaysOff修改为NOEXECUTE=OPTIN,修改后为
Multi(0)disk(0)rdisk(0)partion(1)\WINDOWS="Microsoft Windows XP Proressional" /NOEXECUTE=OPTIN /FASTDETECT /NOEXECUTE=OPTIN

 

 

 

 

 

2015/04/16

有时候模拟器(一般是android 2.3.3的intel CPU的rom)启动后的分辨率不对(程序图标看上去偏小),如果要恢复正常的分辨率,可以尝试在命令行中添加-dpi-device 480参数(或更大的数字),

 

如果要重现这种不正常情况,可以用-dpi-device 1

 

2015/04/16

似乎intel后来发布的版本(从r04开始)不支持XP,如果要支持Windows XP,需要安装r03(貌似)

http://software.intel.com/sites/default/files/haxm-windows_r03.zip

(或者在网上搜索haxm-windows_r03)

 

 

 

(以下个人见解)

高版本的rom(例如android 4.x)因为模拟器做了较大的优化,所以直接跑ARM版ROM也不会非常卡(虽然仍然会慢)

速度比较大概是这样

HAXM+Intel x86+android 2.3.x 比 ARM 7 + android 4.x 快 (HAXM比较流畅)

ARM 7 + android 4.x 比 ARM + android 2.3.x 快一些(只要是ARM都卡,但4.x会容易接受一些,2.3.x慢得难以忍受)

HAXM+Intel x86+android 2.3.x 比 HAXM + Intel x86 + android 4.x 快(4.x加速效果很差)

 

 

 (20150420)

创建平板(tablet)的avd时,需要指定VM Heap为96(默认的16M太小,程序很容易崩溃,用系统的Launcher启动器时会出错)

 

 

 

 

(TODO)

 

  • 大小: 529.2 KB
  • 大小: 566.1 KB
  • 大小: 556.7 KB
  • 大小: 497.9 KB
  • 大小: 62.6 KB
  • 大小: 450.5 KB
分享到:
评论
1 楼 naruto60 2015-07-03  
太给力了!!!!我这网打不开Intel官网,多亏楼主贴了连接,然后离线上传到百度网盘,终于下载到了    

相关推荐

    IntelHaxm Android模拟器加速

    用于加速Android模拟器的Intel组件,欢迎下载使用~

    Android最快模拟器intelhaxm

    Android最快模拟器,基于X86镜像,安装intelhaxm加速器,可以再intel处理器的电脑上实现飞快,启动模拟器只需要10s,运行程序与桌面程序一样飞快,赶紧学习下载吧!

    HAXM加速教程

    通过haxm加速,可以实现android模拟器跟真机一般的运行速度。

    Intel HAXM为Android 模拟器加速解决模拟器运行慢的问题

    Android 模拟器一直以运行速度慢著称, 本文介绍使用 Intel HAXM 技术为 Android 模拟器加速, 使模拟器运行度媲美真机, 彻底解决模拟器运行慢的问题。Intel HAXM (Hardware Accelerated Execution Manager) 使用...

    haxm-windows_r04

    Intel官方说明: The Intel Hardware Accelerated Execution Manager ...Android 模拟器一直以运行速度慢著称,使用 Intel HAXM 技术为 Android 模拟器加速, 使模拟器运行度媲美真机, 彻底解决模拟器运行慢的问题。

    HAXM(intel x86 emulator accelerator)

    Android模拟器(出错问题)Intel X86 没法用。Android SDK Manager离线下载HAXM,文件下载之后放在android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager目录下,双击执行IntelHaxm.exe 进行安装

    Android 模拟器加速

    IntelHaxm android 模拟器,首次开发android创建模拟的时候总是会提示你没有安装IntelHaxm.exe

    最新android 模拟器加速器

    Android x86 的加速器 模拟器必须要安装,英特尔® 硬件加速执行管理器(英特尔® HAXM)是一款硬件辅助虚拟引擎(管理程序),可通过英特尔® 虚拟化技术 (VT) 来帮助提升在主机上进行 Android 应用模拟的速度。...

    IntelHaxm6.0.1-windows

    Android 模拟器一直以运行速度慢著称, 本文介绍使用 Intel HAXM 技术为 Android 模拟器加速, 使模拟器运行度媲美真机, 彻底解决模拟器运行慢的问题。 Intel HAXM (Hardware Accelerated Execution Manager) 使用...

    haxm-windows_v7_2_0(android-sdk安装需要)

    android SDK中package intel x86 Emulator Accelerator,下载解压后,需安装intelhaxm-android.exe

    Intel x86 Emulator Accelerator(HAXM-v7.7.1 Windows安装版)

    在安装Android Studio有时会遇到启动模拟器时提示HAXM错误,就是缺少Intel x86 Emulator Accelerator(HAXM installer)驱动。这时需要打开Android Studio,选择菜单栏"File-&gt;Settings",在弹出的“Settings”对话框...

    HAXM installer revision v7.2.0(Windows安装包)

    intel的硬件加速执行管理器,是一款可以使用英特尔虚拟化技术(VT)加快 Android* 开发速度的硬件辅助虚拟化引擎(管理程序)。只适用Intel的CPU及x86、x86_64的安卓镜像!开启HAXM的时候,android模拟器的速度会...

    HAXM installer revision v7.2.0(MacOS、OSX安装包)

    intel的硬件加速执行管理器,是一款可以使用英特尔虚拟化技术(VT)加快 Android* 开发速度的硬件辅助虚拟化引擎(管理程序)。只适用Intel的CPU及x86、x86_64的安卓镜像!开启HAXM的时候,android模拟器的速度会...

    haxm-windows_v6_0_6

    结合安卓 x86 模拟器映像提供由英特尔和官方Android SDK 管理器,英特尔硬件支持更快的安卓模拟的英特尔® VT 支持的系统。 英特尔硬件支持以下平台︰ Windows 10 (32/64 位)、 Windows 8 和 8.1 (32/64 位)、 ...

    HAXM installer revision v6.1.1(MacOS、OSX安装包)

    intel的硬件加速执行管理器,是一款可以使用英特尔虚拟化技术(VT)加快 Android* 开发速度的硬件辅助虚拟化引擎(管理程序)。只适用Intel的CPU及x86、x86_64的安卓镜像!开启HAXM的时候,android模拟器的速度会...

    haxm-windows_v7_5_6.zip

    haxm-windows_v7_5_6,android 10.0,android SDK中package intel x86 Emulator Accelerator,下载...解决android studio中模拟器安装问题,比如:该项不适于在指定状态下使用等. 也方便安装不成功时,根据提示找出问题所在.

    HAXM-windows 最新版本

    Android 模拟器 报错了:emulator: ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAX kernel module is...

    android studio模拟器运行软件Intel HAMX

    emulator: ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAX kernel module is not installed!

    HAXM installer revision v6.2.1(MacOS、OSX安装包)

    intel的硬件加速执行管理器,是一款可以使用英特尔虚拟化技术(VT)加快 Android* 开发速度的硬件辅助虚拟化引擎(管理程序)。只适用Intel的CPU及x86、x86_64的安卓镜像!开启HAXM的时候,android模拟器的速度会...

    HAXM installer 5.5

    google的Android 模拟器加速器,可使模拟器速度媲美真机,需要intel CPU,且开启VT 2015年9月29号的版本,可以解决早期版本x86_64模拟器启动不了的问题

Global site tag (gtag.js) - Google Analytics