【问题标题】:Running android emulator with Azure windows 10使用 Azure windows 10 运行 android 模拟器
【发布时间】:2019-12-06 00:23:14
【问题描述】:

我正在尝试在运行 Windows、Windows 10 Pro 版本 1809 的 azure VM 上运行 android 模拟器 - 但我在运行 android 模拟器时收到以下错误消息:

C:\Program Files (x86)\Android\android-sdk\emulator>emulator -AVD androidemulatorapi28 仿真器:错误:x86 仿真当前需要硬件加速! 请确保 Windows Hypervisor Platform (WHPX) 已正确安装且可用。 CPU加速状态:本机未安装HAXM

hyper-v 已启用:

还有 Windows Hypervisor 平台:

VM 的大小是D2_v3 和 Dv3 - 系列应该支持嵌套虚拟化。 Hereherehere 声称它是这样的,并且是 android 模拟器功能。据我了解:

...是 Dv3 系列的一部分。

可能是什么问题?


我能够在 Azure Windows VM 的 Hyper-V 中运行 Ubuntu VM。

禁用Hyper-VWindows Hypervisor Platform,安装HAXM 并运行我收到此错误:

根据此medium article 和此 StackOverflow discussion 的作者 - OpenGL 的特殊自定义实现是必要的 - 因为特定的 azure VM 大小不配备 GPU。但是,按照文章的步骤,我遇到了另一种类型的崩溃 - 当使用作者 Github 存储库中的 Mesa3D+LLvmpip version of opengl32.dll 时,替换 system32 中的 OpenGL 文件并运行 android 模拟器:


我发现有一个gihub repo - 分发 Mesa3D 和 LLvmpip - 下载 mesa3d-19.1.3-release-mingw.exe 并运行 cmd 文件:

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 消息潜水员投诉并且仍然成功运行模拟器。

【问题讨论】:

  • The Xamarin docs state "您不能在另一个虚拟机中运行虚拟机加速模拟器,例如由 VirtualBox、VMWare 或 Docker 托管的虚拟机。您必须直接运行 Android 模拟器在您的系统硬件上”。您是否考虑过使用Visual Studio Emulator for Android?没试过,但也许它为嵌套 VM 提供了更好的支持。
  • 它似乎已经过时并且被遗弃了:stackoverflow.com/questions/44864647/…。页面顶部还有一条通知——不支持硬件加速。
  • 使用GPU Caps Viewer 表示GL_VENDOR: VMware, Inc。并且 android 文档也声明是不可能的。
  • 这里是关于在 windows vm 上运行 android 模拟器的更长讨论:github.com/pal1000/mesa-dist-win/issues/26
  • 我目前正在通过以下设置将 Windows vm 上的 Visual Studio 连接到我的 Mac(我认为两者必须在同一个 vpn 中)来解决此问题:docs.microsoft.com/en-us/xamarin/android/troubleshooting/… - 允许我使用我的 mac 上安装的 android。

标签: android azure virtual-machine emulation


【解决方案1】:

我在为 DV3 和 EV3 系列使用 Win10 或 Windows Server 2019 时遇到了同样的问题。但是,如果您愿意接受该选项,我可以在 ubuntu 上使用它。不需要 hyper v 或 haxm,它使用的是 KVM

【讨论】:

【解决方案2】:

注意:这不是一个解决方案,这是为了分享我在尝试了大约 10-20 种方法后学到的细节:

  • 要在 azure VDI 中启用虚拟化,您需要启用 Hyper-V 功能。
  • 之后可以在任务管理器中看到->虚拟化设置为true的性能。
  • 如果没有,请尝试从命令提示符启用它。 bcdedit /set hypervisorlaunchtype auto

  • 启用虚拟化之后。

  • 现在,您将无法安装英特尔 HAXM,因为 Hyper-V 和英特尔 HAXM 之间存在竞争条件以进行虚拟化。
  • 因此,如果没有英特尔 HAXM,AVD 将无法运行。

  • 如果不使用 Hyper-V 启用虚拟化,AVD 中只会出现黑屏,并且无法启动。

所以,我相信直到现在还没有解决这个问题的方法,我在 google,stackoverflow 上搜索了所有内容。如果有人找到解决方案,请在此处发布。

【讨论】:

    【解决方案3】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-24
      • 1970-01-01
      • 2018-04-25
      • 1970-01-01
      相关资源
      最近更新 更多