【问题标题】:Android Emulator 30.4.5 not working on MacOSAndroid 模拟器 30.4.5 无法在 MacOS 上运行
【发布时间】:2021-03-03 10:28:40
【问题描述】:

系统信息

MacOs 版本 - 11.3 测试版

Android Studio 版本 - 4.1.2

Android 模拟器版本 - 30.4.5

Android HAXM 版本 - 7.5.1

错误堆栈

emulator: Android emulator version 30.4.5.0 (build_id 7140946) (CL:N/A)
handleCpuAcceleration: feature check for hvf
cannot add library /Users/rajaparikshit/Library/Android/sdk/emulator/qemu/darwin-x86_64/lib64/vulkan/libvulkan.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/rajaparikshit/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib
cannot add library /Users/rajaparikshit/Library/Android/sdk/emulator/qemu/darwin-x86_64/lib64/vulkan/libMoltenVK.dylib: failed
added library /Users/rajaparikshit/Library/Android/sdk/emulator/lib64/vulkan/libMoltenVK.dylib

Android 模拟器版本 - 30.0.26 按预期完美运行。但是在 30.4.5.0 更新后它不起作用。

我试图搜索降级到 30.0.26 的方法,但找不到,即 android studio manager 中也没有任何选项。

我看到了this SO 帖子。 Google 将所有模拟器版本存储在存储库 URL - http://dl.google.com/android/repository/ 但我不知道 30.0.26 版本的构建版本,所以不能这样。

更新 -

请按照下面接受的答案并投反对票。

对于新手或者如果您在任何时候遇到困难,请按照以下步骤操作:

  1. 如果您已经卸载了最新版本的模拟器,因为它无法正常工作,请重新安装。 (因为如果我们手动替换模拟器目录 Android Studio 无法识别它,因此您将无法从 Android Studio 创建/运行 AVD)

  2. 从答案中提到的 URL 下载 zip 文件。

  3. 将内容复制(不移动)到您的原始模拟器目录。

  4. 如果需要,重新启动 android studio。

这只是一种解决方法,这个新版本的实际问题仍然存在。

【问题讨论】:

    标签: android-emulator macos-big-sur android-studio-4.1


    【解决方案1】:

    这里是模拟器版本 30.0.26 https://dl.google.com/android/repository/emulator-darwin-6885378.zip 的链接 (取自answer

    下载它,然后复制安装的模拟器。

    如果您启用了文件隔离,它将不起作用;我这样做了,我需要从下载的文件中递归删除隔离区

    xattr -r -d com.apple.quarantine /path/to/dir
    

    然后我可以通过调用来运行模拟器:

    emulator @device_name
    

    它似乎没有被 AS 检测到,但仍然有效。

    【讨论】:

    • 非常感谢。有效。你如何得到这个 zip 的 URL。我按照你指出的答案,但没有得到网址。
    • 就在帖子末尾附近64-bit MacOS - https://dl.google.com/android/repository/emulator-darwin-6885378.zip
    【解决方案2】:

    以下是临时修复。

    错误:

    无法添加库 /Users//库/Android/sdk/emulator/qemu/darwin-x86_64/lib64/vulkan/libvulkan.dylib: 失败

    错误信息中指定的路径中似乎不存在 dylib 文件。 但是,该库存在于以下路径中:

    ~/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib
    

    到路径模拟器的符号链接 vaulkan lib 正在尝试从以下位置加载库:

    ln -s ~/Library/Android/sdk/emulator/lib64 ~/Library/Android/sdk/emulator/qemu/darwin-x86_64/lib64
    

    错误 2: 然后我得到一个与代码签名相关的错误。

    HVF 错误:HV_ERROR qemu-system-x86_64:未能初始化 HVF:无效参数

    修复代码签名错误:
    第1步: 创建用于协同设计的 app.entitlements 文件并添加以下内容(来源:https://www.reddit.com/r/VFIO/comments/kdhgni/qemu_hvf_support_for_mac_os_x_bug_sur_hv_error/):

    <?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>
    

    第 2 步: 执行协同设计:

    codesign -s - --entitlements ~/<path>/<to>/app.entitlements --force ~/Library/Android/sdk/emulator/qemu/darwin-x86_64/qemu-system-x86_64
    

    启动模拟器:

    ~/Library/Android/sdk/emulator/emulator -avd Pixel_4_API_30 -gpu auto
    

    模拟器应该加载没有任何错误。希望这会有所帮助。

    更新:当前版本的模拟器中不再存在此问题。请参考@channe 的评论以在升级 AS/emulator 后恢复更改。

    【讨论】:

    • 30.5.6 上的问题仍然存在,并且此解决方案不再适用于该版本:ERROR: qt_setup.cpp:31: Qt library not found at /Users/example/Library/Android/sdk/emulator/lib64/qt/lib;;;dyld: Library not loaded: @rpath/libQt5WebEngineWidgetsAndroidEmu.5.12.1.dylib Referenced from: /Users/example/Library/Android/sdk/emulator/qemu/darwin-x86_64/qemu-system-x86_64 Reason: image not found
    • 有效!这应该是首选答案
    • 初始问题似乎已在 30.5.6 中修复。如果您使用了上述修复,请从 sdk 管理器卸载并重新安装模拟器。这将还原更改。
    • @Dr.jacky - 请按照 channae 的评论恢复更改。
    • 尝试了@channae 修复,但它似乎不起作用。
    【解决方案3】:

    我在 Mac 上遇到了同样的问题。我能够通过从 Android Studio -> Sdk Manager -> Android Sdk -> SDK Tools 更新 Android Emulator to 30.6.5 来修复它。
    我还必须安装Intel x86 Emulator Accelerator (HAXM Installer)

    【讨论】:

      猜你喜欢
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 2012-01-04
      • 2018-10-24
      • 1970-01-01
      相关资源
      最近更新 更多