Android Studio Emulator:无法添加库 vulkan-1.dll:失败

Posted

技术标签:

【中文标题】Android Studio Emulator:无法添加库 vulkan-1.dll:失败【英文标题】:Android Studio Emulator: cannot add library vulkan-1.dll: failed 【发布时间】: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: ***.com/questions/58391908/… 。简而言之,您应该尝试更改模拟器的图形设置。 当我使用 android 11 创建新的模拟器时,图形选项设置为自动且不可更改。但是当我使用 android 6 创建时,图形选项是可变的,当我更改为软件 - GLES 2.0 时,模拟器正在工作。 您可以手动更改模拟器的图形类型。欲了解更多信息,请参阅***.com/questions/58152237/… 我投票结束这个问题,因为它违反了多个规则。它包括一个指向稍后编辑的“解决方案”的链接,没有任何解释。 OP 本可以编写答案而不是编辑问题,但即便如此,仅链接的答案也会违反指南。 100% 有效答案professnow.com/blog/… 【参考方案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 后我就遇到了这个问题。

我试过这个解决方案:

    创建文件 ~/.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 的解决方案,我找到了一种让我感觉更舒服的方法 - 但是,它仍然是一种解决方法:

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

【讨论】:

Whatsapp for windows 也提供了 vulcan-1.dll【参考方案5】:

错误:

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

解决方案:

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

【讨论】:

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

四个步骤。

    从 Internet 下载 vulkan DLL 文件或从任何合适的来源获取。 解压 DLL 文件 将它放在 c\Users\[您的用户名]\AppData\Local\Android\Sdk\emulator\lib64 中。 然后将文件重命名为“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并且模拟器开始工作

【讨论】:

如何实现这一目标?

以上是关于Android Studio Emulator:无法添加库 vulkan-1.dll:失败的主要内容,如果未能解决你的问题,请参考以下文章

markdown 在没有Android Studio的情况下运行Android Emulator

Ubuntu android studio AVD 错误:Emulator: emulator: ERROR: VkCommonOperations.cpp:540: Failed to create

Android Studio启动时报错 Emulator: emulator: ERROR: OpenGLES emulation failed to initialize.

android studio emulator libGl错误

Android studio 4.1 Emulator 扩展控件

Android Studio 模拟器:emulator64-crash-service 意外退出