所以我的 Mac 刚刚强制更新到 Big Sur 11.3。我一直在尝试访问 Android 设备管理器来运行模拟设备,但每次都失败了。当我尝试从命令行运行它时,我收到以下错误消息:
emulator @Pixel_3a_API_30
emulator: Android emulator version 30.5.5.0 (build_id 7285888) (CL:N/A)
handleCpuAcceleration: feature check for hvf
cannot add library /Users/centuryfall/Library/Android/sdk/emulator/qemu/darwin-x86_64/lib64/vulkan/libvulkan.dylib: failed
added library /Users/centuryfall/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib
cannot add library /Users/centuryfall/Library/Android/sdk/emulator/qemu/darwin-x86_64/lib64/vulkan/libMoltenVK.dylib: failed
HVF error: HV_ERROR
qemu-system-x86_64: failed to initialize HVF: Invalid argument
Failed to open the hax module
No accelerator found.
qemu-system-x86_64: failed to initialize HAX: Operation not supported by device
added library /Users/centuryfall/Library/Android/sdk/emulator/lib64/vulkan/libMoltenVK.dylib
(用“centrefall”替换实际用户名)。
我看过其他一些问题,说 AVD 需要版本 30。我有 AVD v30.5.5.0 还有其他人遇到过这个问题吗?
2021-04-29 更新:模拟器版本 30.5.6 现已进入稳定通道,它修复了此问题。旧答案保留在下面。
Apple 已更改虚拟机管理程序权利(权限),弃用com.apple.vm.hypervisor
with com.apple.security.hypervisor
。在 Google 使用新权利修复模拟器代码签名之前,您可以通过自行授予权利来解决该问题。
创建文件entitlements.xml
包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.hypervisor</key>
<true/>
</dict>
</plist>
and run
codesign -s - --entitlements entitlements.xml --force /usr/local/bin/qemu-system-x86_64
根据需要替换 SDK 所在的 qemu 路径。可能是例如~/Library/Android/sdk/emulator/qemu/darwin-x86_64/qemu-system-x86_64
在某些 SDK 安装上。
答案基于https://www.arthurkoziel.com/qemu-on-macos-big-sur/
相关问题:
- https://issuetracker.google.com/issues/181142249
- https://issuetracker.google.com/issues/186436367
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)