Android 安装 WSL2 后,Studio 模拟器无法在 Windows 11 上运行
Android Studio Emulator is not working on Windows 11 when WSL2 is installed
设置:
- Windows 11 家 21H2 22000.132
- AMD 锐龙 5900X
- WSL2
- Android studio 最新版本(也尝试使用最新的 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
在 android 模拟器之前在 Intel i7 4770k 处理器上工作的同时使用 WSL2,但在处理器升级到 AMD Ryzen 5900x 并全新安装 Windows 后停止工作11.
澄清一下:我不是想 运行 来自 WSL2 的模拟器,而是想 运行 来自 Android Studio。当尝试从 Android Studio 启动它时,它永远不会启动,当尝试从 Windows 命令行 运行 启动它时,出现上述错误。
“无法打开 /qemu.conf”可以通过手动创建该文件来解决,如 this 答案所述。然而,这并没有解决 WHPX 的两个后来的错误。
我已按照 this 页面上的官方说明进行操作(遵循带有 Hyper-V 选项 WHPX 的 AMD)。我认为问题与 WSL2 使用的 Hyper-V 运行ning 有关,如果我没有记错的话。但是根据上面的 link 应该可以 运行 仿真器与使用 WHPX 的 Hyper-V 同时运行。我也尝试过使用适用于 AMD 处理器的 Android Emulator Hypervisor 驱动程序,这给了我完全相同的结果。
已激活 Windows 功能:
感谢您的帮助,如果我需要添加更多信息请告诉我
较新的答案
我发现并测试了较短的肘节机构。
Windows 功能的配置:
Windows Subsystem for Linux
已安装。
Windows Hypervisor Platform
已安装。
Hyper-V
已安装。
如果需要Emulator,只需关闭Hypervisor + Restart即可。 运行: bcdedit /set hypervisorlaunchtype off
如果您需要 Docker 返回,您可以 运行 管理程序从而禁用模拟器。 运行: bcdedit /set hypervisorlaunchtype auto
设置Hypervisor后需要重启
您不能同时 运行 两者。另一个值得检查的论坛 How about running docker?
在我下面的旧答案中。
旧答案
我想我解决了这个问题,从 CMD / Android Studio 测试到 运行 和 运行 与安装 WSL 之前一样完美。我们有几个步骤:
正在配置 Windows 功能:
- 已删除
Windows Subsystem for Linux
- 已移除
Windows Hypervisor Platform
- 已移除
Hyper-V
这是我当前的设置:
正在还原 AVD 设置
我知道删除后会有一些可能性,因为 AVD 仍然会遇到与以前相同的错误,并且预计会进入 WSL。当 运行:
我偶然发现了一些东西
C:\Users\[NAME]\AppData\Local\Android\Sdk\emulator\emulator-check.exe accel
该命令将检查当前加速度。说明需要开启Hypervisor并给出具体的帮助:
运行 bcdedit /set hypervisorlaunchtype off
.
运行在 bcdedit 之后,我重新启动,一切都恢复了。现在我可以从 CMD 和 Android Studio 完美地 运行 模拟器。
运行宁docker怎么样?
可悲的事实,是的,你不能 运行 两者平行。本论坛有几种解决方法:
多个选项 运行从更改模拟器开始,在需要时使用上述步骤添加和删除 docker,创建嵌套虚拟机等。我个人目前的选择是暂时使用另一个模拟器为后者删除 docker。
这个问题只发生在 AMD 处理器上,我有两个系统都带有 WSL2 和 Docker 运行ning 在最新的 Windows 11(Insider Beta)版本上。一个配备 AMD Ryzen 5950,一个配备 Intel i7-8086K。
在 Intel 系统上,模拟器 运行 可以与 WSL2 和 Docker 一起使用硬件加速。
在 AMD 上,我 运行 在使用硬件加速 运行 连接模拟器时遇到同样的错误。在 Windows 10 Insider 构建之前 Windows 11 它仍然有效。
之前在Windows 10 build 10.0.21292 中引入了一个非常相似的问题
后来在 build 21327 中得到修复。(https://github.com/microsoft/WSL/issues/6471) 但这个问题同时影响了 Intel 和 AMD。
我还没有尝试关闭 AMD fTPM,因为这是除了将 Windows 10 Insider(开发环)更新为 Windows 11 之外的唯一其他更改。
用于 AMD 处理器的 Android Emulator Hypervisor 驱动程序仅在禁用 Windows Hypervisor 时有效,它不适用于 WHPX。
Windows反馈中有很多关于此问题的报告,请点赞。
Android Studio 模拟器在 Windows 11 上不支持 运行 Hyper-V,我们可以将 Hyper-V 禁用到 运行,但如果我们这样做应用程序这需要 Hyper-V 像 WSL2 一样 运行,Docker 然后无法 运行。
在等待 Google 更新 Android Studio 模拟器支持 Hyper-V 时,我们有一个解决方案 运行 通过使用另一个支持 Hyper-V 的模拟器,如 Bluestack 5 版本“ Nougat 64 位(支持 Hyper-V)”位于 link 下面
https://www.bluestacks.com/download.html
此问题由 Google 错误 https://issuetracker.google.com/issues/202188690
跟踪
我终于使用 this 修复(答案编号 48)解决了这个问题。在 windows 解决此问题之前,这似乎是一个有效的解决方法。我下载了 windows 的编译版本并将其移动到我的模拟器路径 C:\Users\<username>\AppData\Local\Android\Sdk\emulator
。似乎还有 linux 和 mac 可用的版本,但我还没有测试过这些版本。
设置:
- Windows 11 家 21H2 22000.132
- AMD 锐龙 5900X
- WSL2
- Android studio 最新版本(也尝试使用最新的 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
在 android 模拟器之前在 Intel i7 4770k 处理器上工作的同时使用 WSL2,但在处理器升级到 AMD Ryzen 5900x 并全新安装 Windows 后停止工作11.
澄清一下:我不是想 运行 来自 WSL2 的模拟器,而是想 运行 来自 Android Studio。当尝试从 Android Studio 启动它时,它永远不会启动,当尝试从 Windows 命令行 运行 启动它时,出现上述错误。
“无法打开 /qemu.conf”可以通过手动创建该文件来解决,如 this 答案所述。然而,这并没有解决 WHPX 的两个后来的错误。
我已按照 this 页面上的官方说明进行操作(遵循带有 Hyper-V 选项 WHPX 的 AMD)。我认为问题与 WSL2 使用的 Hyper-V 运行ning 有关,如果我没有记错的话。但是根据上面的 link 应该可以 运行 仿真器与使用 WHPX 的 Hyper-V 同时运行。我也尝试过使用适用于 AMD 处理器的 Android Emulator Hypervisor 驱动程序,这给了我完全相同的结果。
已激活 Windows 功能:
感谢您的帮助,如果我需要添加更多信息请告诉我
较新的答案
我发现并测试了较短的肘节机构。
Windows 功能的配置:
Windows Subsystem for Linux
已安装。Windows Hypervisor Platform
已安装。Hyper-V
已安装。
如果需要Emulator,只需关闭Hypervisor + Restart即可。 运行: bcdedit /set hypervisorlaunchtype off
如果您需要 Docker 返回,您可以 运行 管理程序从而禁用模拟器。 运行: bcdedit /set hypervisorlaunchtype auto
设置Hypervisor后需要重启
您不能同时 运行 两者。另一个值得检查的论坛 How about running docker?
在我下面的旧答案中。
旧答案
我想我解决了这个问题,从 CMD / Android Studio 测试到 运行 和 运行 与安装 WSL 之前一样完美。我们有几个步骤:
正在配置 Windows 功能:
- 已删除
Windows Subsystem for Linux
- 已移除
Windows Hypervisor Platform
- 已移除
Hyper-V
这是我当前的设置:
正在还原 AVD 设置
我知道删除后会有一些可能性,因为 AVD 仍然会遇到与以前相同的错误,并且预计会进入 WSL。当 运行:
我偶然发现了一些东西C:\Users\[NAME]\AppData\Local\Android\Sdk\emulator\emulator-check.exe accel
该命令将检查当前加速度。说明需要开启Hypervisor并给出具体的帮助:
运行 bcdedit /set hypervisorlaunchtype off
.
运行在 bcdedit 之后,我重新启动,一切都恢复了。现在我可以从 CMD 和 Android Studio 完美地 运行 模拟器。
运行宁docker怎么样?
可悲的事实,是的,你不能 运行 两者平行。本论坛有几种解决方法:
多个选项 运行从更改模拟器开始,在需要时使用上述步骤添加和删除 docker,创建嵌套虚拟机等。我个人目前的选择是暂时使用另一个模拟器为后者删除 docker。
这个问题只发生在 AMD 处理器上,我有两个系统都带有 WSL2 和 Docker 运行ning 在最新的 Windows 11(Insider Beta)版本上。一个配备 AMD Ryzen 5950,一个配备 Intel i7-8086K。 在 Intel 系统上,模拟器 运行 可以与 WSL2 和 Docker 一起使用硬件加速。
在 AMD 上,我 运行 在使用硬件加速 运行 连接模拟器时遇到同样的错误。在 Windows 10 Insider 构建之前 Windows 11 它仍然有效。
之前在Windows 10 build 10.0.21292 中引入了一个非常相似的问题 后来在 build 21327 中得到修复。(https://github.com/microsoft/WSL/issues/6471) 但这个问题同时影响了 Intel 和 AMD。
我还没有尝试关闭 AMD fTPM,因为这是除了将 Windows 10 Insider(开发环)更新为 Windows 11 之外的唯一其他更改。
用于 AMD 处理器的 Android Emulator Hypervisor 驱动程序仅在禁用 Windows Hypervisor 时有效,它不适用于 WHPX。
Windows反馈中有很多关于此问题的报告,请点赞。
Android Studio 模拟器在 Windows 11 上不支持 运行 Hyper-V,我们可以将 Hyper-V 禁用到 运行,但如果我们这样做应用程序这需要 Hyper-V 像 WSL2 一样 运行,Docker 然后无法 运行。
在等待 Google 更新 Android Studio 模拟器支持 Hyper-V 时,我们有一个解决方案 运行 通过使用另一个支持 Hyper-V 的模拟器,如 Bluestack 5 版本“ Nougat 64 位(支持 Hyper-V)”位于 link 下面 https://www.bluestacks.com/download.html
此问题由 Google 错误 https://issuetracker.google.com/issues/202188690
跟踪我终于使用 this 修复(答案编号 48)解决了这个问题。在 windows 解决此问题之前,这似乎是一个有效的解决方法。我下载了 windows 的编译版本并将其移动到我的模拟器路径 C:\Users\<username>\AppData\Local\Android\Sdk\emulator
。似乎还有 linux 和 mac 可用的版本,但我还没有测试过这些版本。