如何在Azure虚拟机中运行Android虚拟设备?启动失败求助
Azure虚拟机中Android模拟器启动失败的解决办法
确认嵌套虚拟化已正确启用
虽然选了支持嵌套的VM规格,还是要手动在Azure门户开启:进入VM的「配置」选项卡,找到「嵌套虚拟化」设为「启用」,之后重启VM。也可以在VM内用PowerShell验证:Get-VMHost | Select-Object EnableNestedVirtualization,返回True才算开启成功。调整HAXM配置适配嵌套环境
找到HAXM的配置文件,路径一般是C:\Program Files\Intel\HAXM\haxm_config.ini:- 把
vm_heap_size调小,比如改成vm_heap_size = 512(默认可能是1024,嵌套环境内存压力大) - 新增一行
nested_virtualization = true,强制HAXM支持嵌套虚拟化
保存后打开服务管理器,找到「Intel HAXM Service」右键重启服务。
- 把
切换模拟器的渲染模式
打开Android Studio的AVD管理器,编辑目标虚拟设备:
在「显示」区域,把「图形」选项从「自动」改成「软件 - GLES 2.0」(Microsoft Basic Render Driver对硬件渲染支持差,软件渲染更稳定),保存后重新启动模拟器。改用WHPX替代HAXM(更适配Azure环境)
之前禁用Hyper-V是因为和HAXM冲突,但微软官方的WHPX(Windows Hypervisor Platform)更适合Azure VM:- 打开「控制面板 - 程序 - 启用或关闭Windows功能」,勾选「Hyper-V」和「Windows Hypervisor Platform」,重启VM
- 在控制面板程序列表里卸载Intel HAXM
- 打开Android Studio的SDK管理器,确保「Android Emulator」是最新版本,它会自动适配WHPX
- 重新编辑或创建AVD,图形模式选「自动」即可启动。
调整虚拟设备资源分配
编辑AVD时,「内存」部分的「RAM」设为不超过VM总内存的1/3(比如16G内存的VM,设4096MB);「VM堆」设为512MB或更低。同时关闭VM里不必要的后台程序,减少资源占用。
内容的提问来源于stack exchange,提问作者Stanza
相关产品推荐
相关产品推荐

