我遇到了同样的问题。正如其他答案中所建议的那样,我确实尝试通过删除 xdesku.xml 中的 GuestDisplayProvider = "VsEmulator.OpenGLGuestDisplay" 来禁用 OpenGL。
起初,虚拟机会启动(您可以从 Hyper-V 管理器连接到它),但模拟器窗口本身不会连接到机器(卡在“操作系统正在启动”,然后在使用以下消息:“模拟器无法连接到设备操作系统:无法自动检测来宾系统 IP 地址。某些功能可能被禁用。”)
这个答案https://stackoverflow.com/a/31698124/1010492和一个https://stackoverflow.com/a/14402740/1010492帮助我解决了连接问题,并且我能够让虚拟机显示在模拟器窗口。
但是,在我放回“VsEmulator.OpenGLGuestDisplay”行并删除我的配置文件并重新启动多次之后,模拟器无法正常工作(缩放问题,没有主页、返回等按钮)。
总而言之,如果您在启用 Hyper-V 的计算机上遇到同样的问题,您可能需要尝试 --over conscious -- 以下步骤:
- 理想情况下,卸载任何其他虚拟化软件,例如 VMWare、Virtual Box 和 VPN 客户端,例如 Cisco VPN(如果您不能这样做,请在第 13 步保持警惕)
- 重启
- 在“Visual Studio Emulator for Android”对话框中,删除所有已安装的设备配置文件
- 删除所有 Hyper-V 虚拟交换机 - 转到 Hyper-V > 虚拟交换机管理器 > 删除所有虚拟交换机
- 运行 XdeCleanup.exe(通常在“C:\Program Files (x86)\Microsoft XDE\10.0.10240.0”中)
- 还要删除“控制面板 > 网络和 Internet > 网络连接”中留下的任何额外的虚拟网络适配器(按照前面的步骤操作后,您通常应该只剩下物理适配器)
- 确保在所有网络适配器上禁用网络共享(右键单击,属性,共享,取消勾选“允许其他网络用户通过此计算机的 Internet 连接进行连接”)
- 如果您删除了
GuestDisplayProvider="VsEmulator.OpenGLGuestDisplay"
xdesku.xml 中的行(通常在“C:\Program Files (x86)\Microsoft XDE\10.0.10240.0\SKUs\Android”中),现在是恢复的好时机。
- 重启
- 您可能想尝试修复模拟器:转到 Programs and Features > Microsoft Visual Studio Emulator for Android > Change 并点击“Repair”(尽管我不得不说这对我来说总是失败)
- 重启
- 打开适用于 Android 的 Visual Studio Emulator,安装并运行其中一个配置文件(例如:7'' KitKat (4.4) XHDPI Tablet -- 类似于 Asus Google Nexus 7)
- 它可能已经工作,但如果没有,您应该确保您的网络适配器设置正确。停止您的模拟器,然后转到控制面板 > 网络和 Internet > 网络连接,然后右键单击 vEthernet 适配器,然后单击属性并确保您在网络列表中只勾选了以下框(如来自其他虚拟化或网络的干扰中所述软件和驱动程序:Microsoft 网络客户端、QoS 数据包调度程序、Microsoft 网络文件和打印机共享、Microsoft LLDP 协议驱动程序、链路层拓扑发现映射器 I/O 驱动程序、链路层拓扑发现响应程序、Internet 协议版本 6(TCP /IPv6),互联网协议版本 4 (TCP/IPv4)
- 重启
- 尝试在“Visual Studio Emulator for Android”中再次启动模拟器
- 如果它仍然不起作用,请尝试删除并重新创建配置文件,并重新启动负载...
这里可能有一些多余的步骤,但我认为它涵盖了您应该尝试的所有内容(关键似乎是确保网络适配器设置正确)。如果我遗漏了一些东西,或者您认为某些步骤无用,请发表评论。