Windows操作系统上AMD的HAXM替代方案是什么?

39

是否有类似于Intel的HAXM的AMD等效产品(Windows操作系统),或者是否有人能够破解HAXM以使其在AMD处理器上工作(Windows操作系统)?

此外,与Google提供的默认Google API ARM / x86 系统映像相比较,Genymotion(http://www.genymotion.com)会更快吗?

我准确的开发机器规格如下:

  • 操作系统:Windows 7 Ultimate
  • 处理器:AMD FX 8120 8 Core 2.81 GHz
11个回答

25

2019年更新:发布新答案。

简短概述:现在通过WHPX和yes,AMD在Windows和Linux上都得到了支持,Genymotion更快,因为它使用x86架构虚拟化。

来自Android docs(2019年1月):

虽然我们建议在Windows上使用HAXM,但是如果您使用的是AMD CPU或需要同时使用Hyper-V,则可以使用Windows Hypervisor Platform(WHPX)与模拟器一起使用WHPX加速。

要在Windows上使用WHPX加速,必须在“打开或关闭Windows功能”对话框中启用Windows Hypervisor Platform选项。要使此选项的更改生效,请重新启动计算机。

此外,必须在BIOS设置中进行以下更改:

Intel CPU:必须启用VT-x。 AMD CPU:必须启用虚拟化或SVM。

与2016年的差异:

虚拟化扩展要求
在尝试使用加速功能之前,应首先确定您的CPU是否支持以下虚拟化扩展技术之一:
1. 英特尔虚拟化技术(VT、VT-x、vmx)扩展 2. AMD虚拟化(AMD-V、SVM)扩展
大多数现代计算机都支持这些技术。如果您使用的是旧计算机并且不确定,请查阅CPU制造商的规格说明书以确定其是否支持虚拟化扩展。如果您的CPU不支持这些虚拟化技术,则无法使用VM加速。
通常通过计算机BIOS启用虚拟化扩展,默认情况下经常关闭。请查阅主板文档以了解如何启用虚拟化扩展。

我已经在BIOS中启用了SVM和Hyper-V功能,但是当我尝试创建一个新的Android虚拟设备时,安装程序会下载英特尔的HAXM安装程序,但安装失败,因此我的模拟器启动但保持离线状态。我不知道该怎么办。 - Arthur Eirich

23

来自Android文档(2016年3月):

在尝试使用这种加速类型之前,您应首先确定您的开发系统CPU是否支持以下虚拟化扩展技术之一:

  • Intel Virtualization Technology(VT,VT-x,vmx)扩展
  • AMD Virtualization(AMD-V,SVM)扩展 (仅适用于Linux)

您的CPU制造商的规格说明应该指出它是否支持虚拟化扩展。 如果您的CPU不支持这些虚拟化技术之一,则无法使用虚拟机加速。

注意:虚拟化扩展通常通过计算机的BIOS启用,并且默认情况下经常关闭。 查找您系统主板的文档以了解如何启用虚拟化扩展。

大多数人谈论Genymotion更快,我从未听过有人说它更慢。 我绝对认为它更快,值得花费约20分钟来设置并尝试。


2
根据文档,如果具有“AMD虚拟化(AMD-V,SVM)扩展(仅适用于Linux)”,则支持AMD(http://developer.android.com/tools/devices/emulator.html)。 - NoBugs
3
@Rickard 的“仅适用于 Linux”是关键,这意味着 AMD 处理器不受 Windows 操作系统支持,这就是我的问题所在。 - Tim Kist
1
我在您的答案中加入了相关文档的引用。希望这对您有所帮助。 - Simon East
1
很遗憾,Genymotion需要购买许可证。 :( - SINGULARITY
2
当一个资源比 Google 少得多的第三方公司能够为 Google 的产品构建出明显更快的东西时,这让人感到沮丧。这告诉我们 Google 的 Android 团队有什么问题吗? - Kraang Prime
显示剩余4条评论

8

您需要创建一个运行在ARM上的虚拟设备。运行在X86上的虚拟设备需要Intel处理器。根据Android规定,仅Linux系统支持AMD支持。如果您想获得更好的虚拟设备创建体验,请使用“存储快照以加快启动”而不是默认的“使用主机GPU”。


1
这不正确。我正在运行AMD FX-8350,并且AVD Manager告诉我“您的CPU不支持所需的功能(VT-x或SVM)”,直到我在“Windows功能”中启用了“Windows Hypervisor Platform”(在控制面板下->打开或关闭Windows功能)。 虚拟Android设备在我的计算机上快速运行,没有问题。 - Adam Howell
1
@AdamHowell 谢谢你的建议,帮助我解决了这个问题。 - Teknoville

7

https://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html

重要提示

如果您的电脑使用的是 AMD 处理器,您需要满足以下设置要求才能运行 Android 模拟器: AMD 处理器 - 推荐:AMD® Ryzen™ 处理器 Android Studio 3.2 Beta 或更高版本 - 可通过 Android Studio 预览页面下载 Android 模拟器 v27.3.8+ - 可通过 Android Studio SDK 管理器下载 x86 Android 虚拟设备(AVD)- 创建 AVD Windows 10 并安装了 2018 年 4 月更新 启用 Windows 功能:“Windows Hypervisor Platform”


2
购买一颗新处理器是一个解决方案,但对于我们中的一些人来说,这意味着还要购买其他组件。或者,您可以购买一部支持您最低目标API级别的Android手机,并从手机上运行应用程序。您可以在亚马逊,Ebay和craigslist上找到其中一些手机,价格很便宜(有时候仅几美分)。此外,这给您带来了实际运行您打算支持的最低硬件的好处。虽然这可能比在模拟系统上安装应用程序慢一点,但这可能会为您节省金钱。
Android设备测试/调试链接:http://developer.android.com/tools/device.html

没有回答这个问题。 - dns
抱歉我的回答没有帮到你。不过根据你如何找到这个线程,它可能正是你需要看到的。针对用户将要执行的实际硬件进行测试非常重要(我认为甚至在我的回答链接中可能已经说过了)。此外,当需要新处理器时,虚拟化甚至不再是一个好的选择。它被提出作为一个潜在更昂贵选项的替代方案(实际上通过使问题不再成为问题来解决问题)。 - NekoKikoushi
1
你可以阅读@Rickard的答案... AMD CPU(使用Linux)受支持,但不支持Windows。这与购买新处理器无关,而只是谷歌的顽固和懒惰所致。^^ - dns

2

1
这个限制(针对Windows)应该公开宣布!我的问题是以下组合:Windows 10 + AMD CPU(带有AMD-V/SMV)+/- Hyper Visor。
我在运行Intel(带有VT-x)+ Linux或AMD(带有AMD-V)+ Linux时没有问题。
Android Studio问题的链接在这里:

https://developer.android.com/studio/run/emulator.html#accel-vm

Xamarin/Visual Studio似乎有一个解决方法,但我还没有测试过:

如果您需要为其他模拟器使用Hyper-V,则建议改用Microsoft Android模拟器,它使用Hyper-V,并且也可以与Xamarin Studio / Visual Studio一起使用。 您可以从这里免费下载它。

我会在确认它有效后更新。真希望在购买新机器之前知道这个。

更新!! 它不起作用,“需要Intel…”错误消息显示

最终注意事项

*必须是F3或更高版本,或者必须是具有BIOS支持的F2。在BIOS中存在或不存在SVM禁用或其他虚拟化选项并不保证存在BIOS支持。您应该联系OEM以确保支持Hyper-V。 *一些AMD BIOS具有启用/禁用SVM(虚拟化辅助)的选项 *一些BIOS将其列为SVM禁用,这是一个双重否定,即您要禁用SVM禁用以启用SVM。 *一些BIOS将其列为安全虚拟化,因此启用安全虚拟化将启用SVM *必须在BIOS中启用无执行,有时也称为NX或执行禁用 *如果您想查找F3 CPU,请参阅AMD指南http://products.amd.com/en-us/DesktopCPUFilter.aspxhttp://products.amd.com/en-us/OpteronCPUFilter.aspx?f1=Second-Generation+AMD+Opteron%e2%84%a2

2
我喜欢标准不一致的时候。如果你使用Speccy,它会显示Windows中启用的CPU支持的指令。Android Studio的Linux版本非常有bug(崩溃/等),这似乎是在推动开发者使用Intel而不是AMD,尽管AMD完全有能力。有点基础,但可以尝试类似Basic4Android的东西。 - Kraang Prime

1

由于即将进入2020年,因此发布新答案。

Android模拟器仍然只支持HAXM或WHPX 在Windows上。甚至您可以使用后者来结束一天的工作。

但是,如果您不喜欢它,则现在正在进行AMD-V支持的工作,由PS4模拟器开发人员之一完成:https://github.com/jarveson/haxm/tree/svm



0

在我的主板上(ASRock A320M-HD与Ryzen 3 2200G),我必须:

SR-IOV support: enabled
IOMMU: enabled
SVM: enabled

在操作系统中启用 Hyper-V。


0

现在有另一种选择:Windows 上 AMD 处理器的 Android 模拟器 Hypervisor 驱动程序

在安装和使用 Windows 上 AMD 处理器的 Android 模拟器 Hypervisor 驱动程序之前,您的计算机必须满足以下要求:

  • AMD 处理器,支持安全虚拟机(SVM)技术
  • 64 位 Windows 10、Windows 8 或 Windows 7(不支持 32 位 Windows)
  • 要在 Windows 10 或 8 上使用 Windows 上 AMD 处理器的 Android 模拟器 Hypervisor 驱动程序,您必须在 Windows 功能对话框中关闭 Hyper-V。
    注意:安装某些软件可能会重新启用 Hyper-V。有关更多详细信息,请参阅禁用 Hyper-V。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接