C:\Program Files (x86)\Android\android-sdk\emulator>emulator -AVD androidemulatorapi28 emulator: ERROR: x86 emulation currently requires hardware acceleration! Please ensure the Windows Hypervisor Platform (WHPX) is properly installed and usable. CPU acceleration status: HAXM is not installed on this machine Hyper-V已启用:
还有 Windows Hypervisor 平台:
虚拟机的大小为D2_v3
,Dv3系列应支持嵌套虚拟化。 这里,这里 和 这里都声称它可以支持,并且安卓模拟器可以正常运行。就我所知:
...是Dv3系列的一部分。
可能出了什么问题?
我可以在Azure Windows虚拟机的Hyper-V中运行Ubuntu虚拟机。
禁用Hyper-V和Windows Hypervisor Platform,安装HAXM并运行时,会出现以下错误: 根据这篇 Medium文章 和这个 StackOverflow 讨论 的作者所说,需要一种特殊的自定义OpenGL实现,因为特定的Azure VM大小不带有GPU。然而,按照该文章的步骤,我遇到了另一种类型的崩溃——当使用作者Github存储库中的
Mesa3D+LLvmpip版本的opengl32.dll
替换system32中的OpenGL文件并运行Android模拟器时:
我发现有一个Github仓库 - 分发Mesa3D和LLvmpip - 下载mesa3d-19.1.3-release-mingw.exe并运行cmd文件:
在命令提示符中出现以下信息:
此部署实用程序针对没有工作GPU和任何不支持硬件加速的OpenGL的用例。这主要涵盖云环境中的虚拟机和RDP连接。它可用于将Microsoft Windows收件箱OpenGL 1.1软件渲染驱动程序替换为Mesa3D软管道、llvmpipe或SWR驱动程序。
...似乎适合驱动程序渲染问题。
我能通过
-avd myandroidemulatorapi28
以及以下两个标志之一-gpu angle_indirect
或-gpu swiftshader_indirect
消除所有cmd警告和错误。在运行之前请设置set QEMU_AUDIO_DRV=none
。关于驱动问题的GUI消息仍然会出现,屏幕是黑色的。根据mesa-dist-win GitHub存储库的所有者所说,当模拟具有他的计算机状态的VM时,他可以复制GUI消息驱动程序投诉并成功运行仿真器。
GPU Caps Viewer
工具显示GL_VENDOR: VMware, Inc
。而且 Android 文档也指出这是不可能的。 - lolelo