我可以在Microsoft hyper-v虚拟机中运行Android Studio和Android SDK模拟器吗?请仔细阅读 .
我已经将Hyper-V用于其他目的了很多 . 现在我需要为Android开发一个应用程序 .
我安装了一个新的虚拟机(Windows 10)并安装了Android Studio . 我无法运行Android模拟器,因为它缺少'intel HAXM软件' .
我读了很多关于不可能将Hyper-V NEXT安装到Android Studio,但是这篇帖子实际上没有说明在Hyper-V机器上安装的事情 .
7 回答
请参考此链接:How to run Android Studio on Windows without disabling Hyper-V
解决方案(如果您不想禁用Hyper-V)是使用Microsoft的Android模拟器,这是一个免费下载here .
要在Android Studio中使用此功能,您需要先运行模拟器 . 然后,在Android Studio中,转到
Run
>Edit Configurations...
并在“部署目标选项”下选择“显示设备选择器对话框” .运行您的项目,并选择VS模拟器,忽略“关闭Hyper-V”的邀请 .
Hyper-V在Windows 10周年更新(2016年8月发布)和Windows Server 2016中添加了对嵌套虚拟化的支持 . 但是,Microsoft支持的嵌套虚拟化唯一用途是在VM中运行Hyper-V,而不是HAXM . 来自official documentation,"Virtualization applications other than Hyper-V are not supported in Hyper-V virtual machines, and are likely to fail."
也就是说,最新版本的HAXM的change log报告了英特尔"Fixed an issue with Hyper-V nested virtualization support, which had prevented Android Emulator from booting."所以虽然它不受微软的支持,但似乎可以运行嵌套在Hyper-V VM中的HAXM .
如果是这种情况,要使HAXM在Hyper-V VM中运行,您需要为该VM启用嵌套 . 当VM处于OFF状态时,在VM上运行此命令:
之后,您应该能够在VM中安装最新版本的HAXM,从而允许使用Android模拟器 . 同样,我没有亲自验证这一点,微软也不支持,因此您的里程可能会有所不同 .
完全披露:我在Hyper-V团队的Microsoft工作 .
[编辑7/2/2018]:今年早些时候宣布了Android Emulator对Hyper-V加速的支持,目前正在预览中 . 有关详细信息,请参阅announcement帖子 .
在开始使用lotosbin建议的步骤之前,请确保完成以下操作:
打开管理命令提示符并输入以下内容;然后重启模拟器 .
或手动更新注册表:
在注册表中,导航到HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node .
创建一个名为Android SDK Tools的新密钥(如果不存在) .
导航到该键 .
创建一个名为Path的新字符串值 . 将其值设置为Android SDK的位置,类似于C:\ Users \ YourName \ AppData \ Local \ Android \ sdk .
微软发布了一个链接,允许Hyper-V作为Android模拟器在Windows中运行的硬件加速器 .
The link is here
这是说明 .
在Windows搜索框中输入 About .
在搜索结果中选择 About your PC .
在 About 对话框中向下滚动到 Windows specifications 部分 .
确认 Version 至少为 1803 .
在Windows搜索框中输入 windows features ,并确保选中 Hyper-V 和 Windows Hypervisor Platform .
在Android Studio中打开SDK管理器,确保您的Android模拟器版本至少为 27.2.7 .
重新启动计算机,然后在Android Studio的AVD Manager中重新启动Android模拟器 .
微软已经announced是一个更好的解决方案
Confirmed :运行Windows 10版本1803,启用了Hyper-V和Windows Hypervisor平台,Android Studio的模拟器可以运行 . 我使用的是Android Studio 3.2.1和Android Emulator 28.0.22 .
只是为了补充@ lotosbin的答案并添加其他信息 . 此信息与您在Android Studio中尝试在Microsoft's standalone Android emulator中启动应用时有关 .
在
Select Deployment Target
窗口上有两个部分,即:Connected Devices
- 它显示了物理机器人通过USB端口连接到计算机的设备,例如移动设备,平板电脑,如果您想将应用部署到实际设备中Available Virtual Devices
- 它显示了根据特定设备定义构建的Android虚拟仿真器,例如Nexus 5X API 28
有趣的是,微软的Android模拟器显示在
Connected Devices
部分 . 因此Android Studio将微软的Android模拟器视为物理设备,即使它只是虚拟模拟器 . 请看下面的截图:此外,您还可以在Hyper-V管理器中查看Microsoft的Android模拟器的运行状况和当前状态,如下面的屏幕截图所示: