首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安装WSL2时,Android模拟器无法在Windows11上工作

安装WSL2时,Android模拟器无法在Windows11上工作
EN

Stack Overflow用户
提问于 2021-08-18 16:51:03
回答 6查看 5.6K关注 0票数 8

设置:

  • Windows 11家庭21H2 22000.132
  • AMD Ryzen 5900X
  • WSL2
  • Android工作室的最新版本(也尝试了最新的测试版)

问题:一旦我安装了WSL2,模拟器就会停止工作。它提供了以下错误消息:

代码语言:javascript
运行
复制
C:\Users\gusta\AppData\Local\Android\Sdk\emulator>emulator.exe -avd Android_TV_1080p_API_300
emulator: Android emulator version 30.8.4.0 (build_id 7600983) (CL:N/A)
handleCpuAcceleration: feature check for hvf
added library vulkan-1.dll
Failed to open /qemu.conf, err: 2
C:\Users\gusta\AppData\Local\Android\Sdk\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe: WHPX: Failed to setup partition, hr=c0350005
C:\Users\gusta\AppData\Local\Android\Sdk\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe: failed to initialize WHPX: Invalid argument

在使用WSL2的同时,安卓模拟器以前在英特尔的i7 4770k处理器上工作,但在处理器升级到AMDRyzen5900x并重新安装Windows 11之后,就停止了工作。

需要澄清的是:我不是试图从WSL2运行模拟器,而是试图从Android运行它。当尝试从Android启动它时,它永远不会启动,当尝试从Windows命令行运行它时,我会得到上面的错误。

“未能打开/qemu.conf”可以通过手动创建该文件来解决,正如答案所解释的那样。但是,这并不能用WHPX修复后面的两个错误。

我已经遵循了页面上的官方指示(跟随AMD与超V选项WHPX)。我认为这个问题与Hyper的运行有关,如果我没有误入歧途的话,WSL2正在使用它。但是根据上面的链接,应该可以在使用WHPX的同时运行该仿真器。我还尝试使用Android模拟器Hypervisor驱动程序来处理AMD处理器,这给了我完全相同的结果。

激活的Windows功能:

感谢您的帮助,如果我需要更多的信息,请告诉我

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2021-12-27 15:47:22

我最终使用了 fix (答案是48)来完成这项工作。在windows修复此问题之前,似乎是一个有效的解决方法。我下载了windows的编译版本,并将其移到模拟器路径C:\Users\<username>\AppData\Local\Android\Sdk\emulator中。linux和mac似乎也有版本可供使用,但我还没有对它们进行测试。

票数 1
EN

Stack Overflow用户

发布于 2021-08-19 12:35:16

较新答案

我发现并测试了更短的切换机构。

Windows功能的配置:

  • 安装了Windows Subsystem for Linux
  • 安装了Windows Hypervisor Platform
  • 安装了Hyper-V

如果需要模拟器,只需关闭Hypervisor +重新启动即可。运行:bcdedit /set hypervisorlaunchtype off

如果需要返回Docker,则可以运行hypervisor从而禁用模拟器。运行:bcdedit /set hypervisorlaunchtype auto

您需要在设置Hypervisor之后重新启动

您不能同时运行这两者。另一个论坛,值得在How about running docker?在我的旧答案下面。

旧答案

我想我解决了这个问题,测试了如何从CMD / Android运行,并且运行得和安装WSL之前一样完美。我们有几步要走:

配置Windows功能:

  1. 移除Windows Subsystem for Linux
  2. 移除Windows Hypervisor Platform
  3. 移除Hyper-V

下面是我当前的设置:

恢复AVD装置

我知道,在删除后,有一些可能性,因为AVD仍然得到了相同的错误,并期望进入WSL。跑的时候我绊倒了,发现了一些东西:

C:\Users\[NAME]\AppData\Local\Android\Sdk\emulator\emulator-check.exe accel

该命令将检查当前accel。它解释了需要启动Hypervisor并提供特定帮助:运行bcdedit /set hypervisorlaunchtype off

在运行bcdedit之后,我重新启动并恢复所有内容。现在,我可以完美地从CMD和Android运行模拟器。

开码头怎么样?

可悲的事实,是的,你不能同时穿这两件衣服。这个论坛有几个解决办法:

如何在Windows上同时运行Docker和Android仿真程序?

有几个选项,从更改模拟器、在需要时添加和删除停靠器(在需要时使用上述步骤)、创建嵌套vm等。我现在的个人选择是暂时使用另一个模拟器,而对于后者则删除停靠程序。

票数 5
EN

Stack Overflow用户

发布于 2021-10-14 05:14:32

此问题由Google bug https://issuetracker.google.com/issues/202188690跟踪。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68836402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档