我想运行WSL 2与我的API在它,和一个Android模拟器来运行我的应用程序,这样我就可以测试说api. WSL 2是完美的,当我有Hyper-V激活.然后我试图使用Android Studio的模拟器,它只是挂起,从来没有启动模拟器.
现在,如果我完全停用Hyper-V(在Windows功能屏幕中并通过bcdedit /set hypervisorlaunchtype off
),模拟器会完美地启动,但当然WSL 2现在不会工作...
我看了这里的很多主题都没有成功。例如How to run Android emulator on windows while using WSL2 with zsh?,Running React Native in WSL with the emulator running directly in Windows或this tutorial。到目前为止没有成功。
我说我用的是锐龙处理器。
3条答案
按热度按时间icnyk63a1#
我能够找到解决办法。我正在运行Windows 11专业版,更新21H2,操作系统构建22000.51,AMD。
这里是谷歌文档如何设置模拟器的AMD处理器。它需要Hyper-V和WHPX被禁用。而这并不去对运行WSL2。
我的设置是:
我所做的:
1.启用Hyper-V和WHPX。
1.在Hyper-V管理器like that中添加了新的Android虚拟机
1.找到Android虚拟机IP地址(我通过运行Android wi-fi选项来实现)并使用
adb connect <ip goes here>:5555
1.如果连接正确,它应显示在Android Studio中。
我试着从Ubuntuadb连接到安卓系统,但是它不能开箱即用。应该可以用一些wsl2〉主机重定向,但是我目前不需要它,也没有进一步研究它。
最后一件困扰我的事情是默认的Android VM分辨率(看起来像平板电脑在水平方向)。它是可以调整它like that。
我们可能需要等待Google提供与WSL2使用相同模拟类型的模拟器。
不起作用/缺少的东西(或我不知道如何做):
nkhmeac62#
所以,有人在问题追踪器上给出了一个很好的答案!
https://issuetracker.google.com/issues/202188690#comment18
基本上,如他所说,
It's being caused by the XSAVE disable code in the WHPX API integration -- target/i386/whpx-all.c -- commenting out this line appears to make it work
:https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev/target/i386/whpx-all.c#1768在issuetracker中,另一个用户已经发布了已经编译好的
exe
文件,如果有人需要的话。对我来说,它修复了一切,模拟器现在工作得非常正常。yhqotfr83#
只要在windows中添加这些额外的特性,你就可以在wsl 2中运行你的模拟器了,记住给你的用户chown for dev/kvm。
enter image description here