相关文章推荐
叛逆的松鼠  ·  NiFi通过JsonPathReader或J ...·  9 月前    · 
率性的红酒  ·  Python logging 模块之 ...·  1 年前    · 
睿智的楼房  ·  React Ref 和 React ...·  1 年前    · 
仗义的炒面  ·  赵震·  2 年前    · 

安装了WSL2后,Android Studio模拟器在Windows 11上无法工作

8 人关注

Setup:

  • Windows 11 Home 21H2 22000.132
  • AMD Ryzen 5900X
  • Android studio lastest build (also tried with latest beta)
  • 我一安装WSL2,模拟器就停止工作。它给出了以下错误信息。

    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处理器上可以工作,但在处理器升级到AMD Ryzen 5900x并重新安装Windows 11后,就不再工作。

    为了澄清问题。我不是想从WSL2运行模拟器,我是想从Android Studio运行它。当试图从Android Studio启动它时,它从未启动,当试图从Windows命令行运行它时,我得到了上述错误。

    "Failed to open /qemu.conf "有可能通过手动创建该文件来解决,如下面的解释。this回答。然而这并没有解决后来WHPX的两个错误。

    我已经按照官方的指示,在this页(跟随AMD的Hyper-V选项WHPX)。我认为这个问题与Hyper-V的运行有关,如果我没有理解错的话,WSL2正在使用Hyper-V。但是根据上面的链接,应该可以用WHPX在Hyper-V的同时运行模拟器。我也试过使用AMD处理器的安卓模拟器Hypervisor驱动,它给我的结果完全一样。

    激活的Windows功能。

    感谢任何帮助,如果我需要添加更多信息,请告诉我。

    3 个评论
    有完全相同的问题。试着在出错后禁用WSL,但没有帮助。目前我无法用任何加速器启动模拟器。
    另一方面,我可以用 ./emulator -no-accel -avd Pixel_3_API_30_Play 成功地启动模拟器。但是,在没有加速的情况下,它是无法忍受使用的。欢迎任何帮助!
    这很有意思。我还没有试过不使用加速器。等我下班回来就会这样做。但正如你所说,如果没有加速,这可能不是一个有效的解决方法。
    android
    android-studio
    android-emulator
    windows-subsystem-for-linux
    wsl-2
    Gustav P Svensson
    Gustav P Svensson
    发布于 2021-08-19
    6 个回答
    Andrea Lk
    Andrea Lk
    发布于 2022-11-10
    已采纳
    0 人赞同

    Newer Answer

    我发现并测试了较短的拨动机制。

    Windows功能的配置。

  • Windows Subsystem for Linux is installed.
  • Windows Hypervisor Platform is installed.
  • Hyper-V is installed.
  • 如果你需要仿真器,你只需要关闭Hypervisor + 重启。运行。【替换代码3

    如果你需要Docker回来,你可以运行管理程序,因此禁用Emulator。运行。【替换代码4

    你需要在设置Hypervisor后重新启动

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

    Older Answer

    我想我已经解决了这个问题,从CMD/Android Studio测试运行,和安装WSL之前一样完美运行。我们有几个步骤。

    Configuring Windows Feature:

  • Removed Windows Subsystem for Linux
  • Removed Windows Hypervisor Platform
  • Removed Hyper-V
  • Here is my current setup:

    Reverting AVD setup

    我知道删除后有一些几率,因为AVD仍然得到和以前一样的错误,并期望进入WSL。我跌跌撞撞地跑着,发现了一些东西。

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

    该命令将检查当前的口令。它解释了Hypervisor需要被关闭,并给出了具体的帮助。 运行 bcdedit /set hypervisorlaunchtype off

    在运行了bcdedit之后,我重新启动,一切都恢复了。现在我可以从CMD和Android Studio完美地运行模拟器。

    How about running docker?

    可悲的是,是的,你不能同时运行这两种服装。在这个论坛上有几个解决方法。

    我怎样才能在Windows上同时运行Docker和Android Studio模拟器?

    Several option ranging from changing emulator, add & remove docker when in need using above step, created nested vm, etc. My personal choice right now is using another Emulator for the time being and removed docker for the latter.

    谢谢!所以根据你的发现,没有办法同时运行WSL2和安卓模拟器?你知道这是否只是AMD处理器上的问题?
    不,据我所知,这不是处理器的问题。有几个论坛提出了AMD的问题,在这里和那里。但我相信英特尔处理器也有同样的问题。根本原因在于AVD仿真器和Docker的虚拟化机制。这个问题只在Windows中触发。在Linux中,Docker + AVD Emulator可以运行,因为Linux中的AVD Emulator使用隔离的虚拟化。因此,是的,Windows的虚拟化问题和Docker/AVD Emulator虚拟化的兼容性。
    Johan Paul
    Johan Paul
    发布于 2022-11-10
    0 人赞同

    这个问题是由谷歌的bug跟踪的 https://issuetracker.google.com/issues/202188690

    目前,谷歌方面对该错误的优先级并不高。如果人们能在该错误上发表评论,说他们也遇到了问题,也许谷歌会提高优先级。
    Gustav P Svensson
    Gustav P Svensson
    发布于 2022-11-10
    0 人赞同

    我终于用以下方法让它工作了 this 修复(答案48)。在windows修复这个问题之前,似乎是一个有效的变通办法。我下载了windows的编译版本,并把它移到我的模拟器路径 C:\Users\<username>\AppData\Local\Android\Sdk\emulator 。似乎也有适用于linux和mac的版本,但我还没有测试。

    Reinhard Schuerer
    Reinhard Schuerer
    发布于 2022-11-10
    0 人赞同

    这个问题只发生在AMD处理器上,我有两个系统都有WSL2和Docker,运行在最新的Windows 11(Insider Beta)版本上。一个是AMD Ryzen 5950,一个是Intel i7-8086K。 在英特尔的系统上,模拟器与WSL2和Docker一起使用硬件加速运行良好。

    在AMD上,我在用硬件加速运行模拟器时遇到了同样的错误。在Windows 11之前的Windows 10 Insider builds中,它仍然工作。

    之前在Windows 10 build 10.0.21292中出现过一个非常类似的问题 并在后来的build 21327中得到了修复。( https://github.com/microsoft/WSL/issues/6471 )但是这个问题同时影响了英特尔和AMD。

    我还没有尝试关闭AMD fTPM,因为这是除了将Windows 10 Insider(开发环)更新到Windows 11之外的唯一其他变化。

    用于AMD处理器的安卓模拟器Hypervisor驱动只在Windows Hypervisor被禁用的情况下工作,它不用于WHPX。

    Windows反馈中充满了关于这个问题的报告,请给它们加注。

    Minh Nguyen
    Minh Nguyen
    发布于 2022-11-10
    0 人赞同