【问题标题】:Android Studio Emulator: cannot add library vulkan-1.dll: failedAndroid Studio Emulator:无法添加库 vulkan-1.dll:失败
【发布时间】:2021-04-18 02:50:53
【问题描述】:

当我在 Windows 10 Pro 64 位中从 Android Studio 运行模拟器时,它显示以下错误:

13-01-2021
10:42 AM    Emulator: handleCpuAcceleration: feature check for hvf

10:42 AM    Emulator: cannot add library vulkan-1.dll: failed

10:42 AM    Emulator: cannot add library vulkan-1.dll: failed

10:42 AM    Emulator: Process finished with exit code -1073741819 (0xC0000005)

并且模拟器没有打开。我已经卸载了当前版本(4.1.1)并安装了Android Studio 4.0.1,但问题没有解决。现在我使用的是最新版本的 Android Studio,即 4.1.1。

这是flutter doctor的输出:

【问题讨论】:

  • 检查以前的解决方案 SO: stackoverflow.com/questions/58391908/… 。简而言之,您应该尝试更改模拟器的图形设置。
  • 当我使用 android 11 创建新的模拟器时,图形选项设置为自动且不可更改。但是当我使用 android 6 创建时,图形选项是可变的,当我更改为软件 - GLES 2.0 时,模拟器正在工作。
  • 您可以手动更改模拟器的图形类型。欲了解更多信息,请参阅stackoverflow.com/questions/58152237/…
  • 我投票结束这个问题,因为它违反了多个规则。它包括一个指向稍后编辑的“解决方案”的链接,没有任何解释。 OP 本可以编写答案而不是编辑问题,但即便如此,仅链接的答案也会违反指南。
  • 100% 有效答案professnow.com/blog/…

标签: android-studio flutter android-emulator


【解决方案1】:

我不知道 Microsoft Visual Studio Code(VS Code)本身是否需要 vulkan-1.dll 或我的以下任何 Visual Studio Code 扩展,

我发现您可能会在 Visual Studio Code 的以下文件夹路径中找到缺少的 vulkan-1.dll

C:\Users\{your_username}\AppData\Local\Programs\Microsoft VS Code\

因此,如果您安装了 Microsoft Visual Studio Code,您可以在上面引用的路径中找到 vulkan-1.dll。从这里,只需复制 vulkan-1.dll 文件,并将其粘贴到文件夹中:

C:\Users\{your_username}\AppData\Local\Android\Sdk\emulator\lib64\

粘贴文件后,重启 Android Studio 并重新运行模拟器/AVD。

【讨论】:

  • 这为我解决了这个问题,感谢我花了好几个小时试图解决这个头痛问题,而不是从任何地方下载 .dll 文件。很高兴它位于 VS Code 中。给你一个赞成票。
  • 它也对我有用,谢谢分享。
【解决方案2】:

我昨天在安装最新版本的 Android Studio(稳定版 4.2.2)时遇到了同样的错误。每次我尝试启动模拟器时,我都会收到一条警告说“AVD 的模拟器进程已被杀死”,在查看 IDE 的日志后,我发现了这个:

2021-07-01 18:00:48,415 [  62545]   INFO - manager.EmulatorProcessHandler - Emulator: cannot add library vulkan-1.dll: failed
2021-07-01 18:00:48,415 [  62545]   INFO - manager.EmulatorProcessHandler - Emulator: cannot add library vulkan-1.dll: failed
2021-07-01 18:00:48,668 [  62798]   INFO - manager.EmulatorProcessHandler - Emulator: emulator: Android emulator version 30.7.5.0 (build_id 7491168) (CL:N/A)
2021-07-01 18:00:48,676 [  62806]   INFO - manager.EmulatorProcessHandler - Emulator: Process finished with exit code -1073741819 (0xC0000005)
2021-07-01 18:00:48,676 [  62806]   WARN - manager.EmulatorProcessHandler - Emulator terminated with exit code -1073741819

我尝试了所有我能找到的“解决方案”,但在我下载 vulkan-1.dll 并将其放入 C:\Windows\System32 之前没有任何效果

去谷歌搜索vulkan-1.dll文件,下载并放在C:\Windows\System32

【讨论】:

  • 在将我的 android studio 更新到 4.2.2 后,我遇到了同样的问题。现在按照你的指示,但它仍然抛出同样的错误。 handleCpuAcceleration:hvf 的功能检查无法添加库 vulkan-1.dll:失败无法添加库 vulkan-1.dll:失败
  • 成功了,不要忘记重命名下载的文件。
  • 我下载了文件并将其粘贴到 C:\Windows\System32 中,如上所述。文件名为 vulkan-1.dll 仍然出现同样的错误。
  • 成功了,我重命名了下载的文件并重新启动了我的电脑。
  • 这对我有用。我用dll-files.com/vulkan-1.dll.html
【解决方案3】:

自从更新 v30.7.5 后我就遇到了这个问题。

我试过这个解决方案:

  1. 创建文件 ~/.android/advancedFeatures.ini(Windows 用户路径应为 C:\Users.android\advancedFeatures.ini),内容如下:

    下面介绍了如何禁用 Vulkan 应用与模拟器通信。将以下行添加到 ~/.android/advancedFeatures.ini(如果该文件不存在,则创建此文件):

    Vulkan = off
    
    GLDirectMem = on
    

【讨论】:

  • 谢谢!你的解决方案是完美的。但是你说的“现在它已经解决了”是什么意思? v30.7.5 之后有更新吗?我什么都看不到。
  • 我的 Pixel4/API 30 AVD 模拟器 USED 工作......直到我最近更新到 Android Studio 4.2.2,并更新了 SDK 工具。我在此页面上尝试了所有其他方法,但创建 .android\advancedFeatures.ini 是唯一对我有用的方法。谢谢!!!! PS: "模拟器版本" => 30.7.5.0 (build_id 7491168)
  • 注意,需要创建advancedFeatures.ini,而不是advancedFeatures.ini.txt,所以必须使用Notepad++等文本和源代码编辑软件,然后另存为ini
【解决方案4】:

Armando's answer 是一个有效的解决方案。但我不喜欢将 Internet 上的任意 DLL 文件打包到 System32 文件夹中。

但是,基于 Armando 的解决方案,我找到了一种让我感觉更舒服的方法 - 但是,它仍然是一种解决方法:

  1. “vulkan-1.dll”可以在软件“draw.io”(64 位)中找到。 DLL 位于安装文件夹中。
  2. 将DLL复制到{ANDROID_HOME}\emulator\lib64\
  3. 启动 Android Studio 并试用AVD

【讨论】:

  • Whatsapp for windows 也提供了 vulcan-1.dll
【解决方案5】:

错误:

  1. 转到帮助 -> 在资源管理器中显示日志。
  2. 打开idea.log文件。
  3. 转到文件底部。
  4. 找到:“Emulator: cannot add library vulkan-1.dll: failed

解决方案:

  1. this下载vulkan-1.dll
  2. 提取 dll 文件名并将其重命名为 vulkan-1.dll
  3. 粘贴到C:\Windows\System32

【讨论】:

  • 这解决了我的问题,非常感谢(我花了整个晚上试图解决它)!特别感谢 vulkan-1.dll 链接。 (顺便说一句,将图形更改为 shoftware,正如其他帖子中提到的,有助于修复模拟器中旧手机的问题,但 Pixel4a 仅在添加 vulkan-1.dll 后才开始工作)。
  • 从 Internet 上的某个随机位置下载并使用 DLL 文件?如何信任此文件?
【解决方案6】:

四个步骤。

  1. 从 Internet 下载 vulkan DLL 文件或从任何合适的来源获取。
  2. 解压 DLL 文件
  3. 将它放在 c\Users\[您的用户名]\AppData\Local\Android\Sdk\emulator\lib64 中。
  4. 然后将文件重命名为“vulkan-1.dll”

然后运行你的模拟器,看看它出现了。

【讨论】:

  • 在将我的 android studio 更新到 4.2.2 后,我遇到了同样的问题。现在按照你的指示,但它仍然抛出同样的错误。 handleCpuAcceleration:hvf 的功能检查无法添加库 vulkan-1.dll:失败无法添加库 vulkan-1.dll:失败
【解决方案7】:

寻找 vulkan 运行时安装程序,而不是在 system32 中复制 vulkan-1.dll

vulkan.lunarg.com/sdk/home

installer (1Mb)

【讨论】:

  • 这个答案很简单。
【解决方案8】:

适用于 Android 6

如果您使用的是 Android 6 及更高版本但低于 Android 10 模拟器然后重新创建模拟器并选择软件 - GLES 2.0 in 创建 AVD(或编辑现有 AVD)时的模拟性能。

适用于 Android 10 或 11

如果您使用的是 Android 10 或 11,则无法更改 Emulated 性能(图形)

为此,编辑 AVD 的 config.ini 文件。在 Windows 下是 位于 C:/Users//.android/avd//config.ini (在我的例子中是 Nexus_5X_API_29.avd)。

在文本编辑器中更改行

hw.gpu.mode=auto

hw.gpu.mode=off

(即使在 Android 虚拟设备中打开此设置也会保留 安卓工作室经理。它只是在那里不可编辑。

我也试过这个,我在另一个 AVD 中找到的:

hw.gpu.enabled=yes
hw.gpu.mode=software

但这会被 Android 虚拟设备更改为“no”/“off” 经理。到目前为止,我没有再看下去。 hw.gpu.mode=off 为 我)。

重新发布 deleted answer from OP(仅限 10k 链接)并包含实际内容,最初来自 https://professnow.com/blog/solved-emulator-cannot-add-library-vulkan-1-dll-failed/

【讨论】:

  • @PeterMortensen 归属信息不应该在 cmets 中;它应该始终在帖子本身中。
【解决方案9】:

使用以下 Android SDK 和工具:

SDk Tools Setup

SDK Platforms Setup

SDK Folder Structure

我有上面的 SDK 目录结构,我有一个用于 vulkan 驱动程序的文件夹,如上所示。我能够将文件:vk_swiftshader.dll 复制到父 lib64 目录,将其重命名为 vulkan-1.dll 以解决问题

【讨论】:

    【解决方案10】:

    如果您在 Visual Studio 中运行 xamarin.android,我强烈建议您卸载所有设备模拟器并重新启动 Visual Studio,然后再次运行您的应用。

    【讨论】:

    • 什么是"xamarin.android"
    【解决方案11】:

    我遇到了同样的问题,即 emulator.exe 在控制台上以相同的行突然结束。经过数小时的实验,将模拟器版本从 Android Emulator 3.7.5 降级到 30.4.5.0 (build_id 7140946) 成功了。

    我认为这不应该是错误 vulkan-1.dll 是进程突然结束的原因。我这样说是因为我在 30.4.5.0 (build_id 7140946) 上成功运行的日志也显示了这个 dll 丢失错误,但继续并且模拟器成功显示。

    emulator: Android emulator version 30.4.5.0 (build_id 7140946) (CL:N/A)
    handleCpuAcceleration: feature check for hvf
    emulator: WARNING: Your GPU drivers may have a bug. If you experience graphical issues, please consider switching to software rendering.
    cannot add library vulkan-1.dll: failed
    cannot add library vulkan-1.dll: failed
    Failed to open /qemu.conf, err: 2
    Windows Hypervisor Platform accelerator is operational
    dsound: Could not initialize DirectSoundCapture
    dsound: Reason: No sound driver is available for use, or the given GUID is not a valid DirectSound device ID
    dsound: Attempt to initialize voice without DirectSoundCapture object
    dsound: Attempt to initialize voice without DirectSoundCapture object
    audio: Failed to create voice `goldfish_audio_in'
    e:\Users\user\AppData\Local\Android\Sdk\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe: warning: opening audio input failed
    emulator: INFO: GrpcServices.cpp:301: Started GRPC server at 127.0.0.1:8554, security: Local
    dsound: Attempt to initialize voice without DirectSoundCapture object
    dsound: Attempt to initialize voice without DirectSoundCapture object
    audio: Failed to create voice `adc'
    Your emulator is out of date, please update by launching Android Studio:
     - Start Android Studio
     - Select menu "Tools > Android > SDK Manager"
     - Click "SDK Tools" tab
     - Check "Android Emulator" checkbox
     - Click "OK"
    
    emulator: INFO: boot completed
    emulator: Increasing screen off timeout, logcat buffer size to 2M.
    emulator: Revoking microphone permissions for Google App.
    

    仅供参考。我在 Hyper-V 平台上的嵌套 VM 中运行模拟器,我的 GPU 版本是:

    android_startOpenglesRenderer: gpu info
    
    GPU #1
      Make: 1414
      Model: Microsoft Basic Render Driver
      Device ID: 008c
    

    【讨论】:

    • 嘿@peter-mortensen - 我也在尝试在 Hyper-V 平台上的嵌套 VM 中运行模拟器,但我也在苦苦挣扎。下载旧模拟器版本的一个值得注意的事情是它需要一个特定的 dl.google.com 网址,例如(但不是你提到的版本):dl.google.com/android/repository/emulator-windows-6855416.zip - 你有一个链接指向一个现在为你工作的版本?
    【解决方案12】:

    对我来说,解决方案如 this Microsoft forum 中所述。

    在您的 .android 目录下创建一个名为 advancedFeatures.ini 的文件并添加这两个变量:

    Vulkan = off
    GLDirectMem = on
    

    有关 Vulkan 对 Windows 和 Linux 的支持的更多信息,请访问 here

    【讨论】:

      【解决方案13】:

      降级模拟器android API版本,我在API 30使用我将它降级到API28并且模拟器开始工作

      【讨论】:

      • 如何实现这一目标?
      猜你喜欢
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      相关资源
      最近更新 更多