无法在模拟器中启动 AVD: 找不到 QT 库

我是 Android Studio 的新手,在使用模拟器时遇到了一些问题。当我试图跑步的时候,它不停地崩溃,说:

“无法在模拟器中启动 AVD”[6816] : ERROR: ./android/Qt/Qt _ setup. cpp: 28: 在 用户 Jay AppData 本地 Android Sdk 模拟器 lib64 qt lib

无法启动“ C: 用户 Jay AppData 本地 Android Sdk 模拟器/qemu/windows-x86 _ 64/qemu-system-i386.exe”: 没有这样的文件或目录

我已经从 BIOS 设置启用了 VT-x,但我还是有问题。我找了很多地方都找不到答案。任何帮助都将不胜感激。有人能给我一个解决方案吗?

错误截图 Log Snapshot

110364 次浏览

这似乎与最近的更新有关。临时解决方案是从命令行中的 /path/to/android-sdk/tools目录中启动模拟器。

请参阅 https://code.google.com/p/android/issues/detail?id=235461以了解问题。

对于那些在执行来自 .../Sdk/tools目录的命令时仍然遇到问题的用户,请尝试添加 -use-system-libs参数。

因此,它应该采用以下格式:

path/to/Sdk/emulator -use-system-libs -avd [AVD-NAME]

对我来说,这里有一个例子:

/home/cillian/Android/Sdk/emulator -use-system-libs -avd Nexus5

我有同样的问题,我解决了它通过安装模拟器,因为不知何故,更新似乎已经删除了它。可以通过 Android Studio tools-> SDK manager 这样做。希望这个能帮上忙

为了 Mac

如果有创建模拟器,请尝试下面的 shell 代码:

#!/bin/bash
cd /Users/***/Library/Android/sdk/tools/
avds=`emulator -list-avds`
echo "show All emulators"
i=0
for item in $avds
do
echo [$i] $item
let i+=1
done
read index
avds=($avds)
# echo ${avds[$index]}
emulator -avd ${avds[$index]}

是你的用户名

对于 Linux 或 Mac 系统,您可以向 ~/.profile(或 ~/.bashrc)添加以下内容:

function emulator { cd "$(dirname "$(which emulator)")" && ./emulator "$@"; }

然后运行以加载更改:

source ~/.profile

(当然是 source ~/.bashrc)

这将允许执行 emulator,直到他们修复问题

(根据 https://code.google.com/p/android/issues/detail?id=235461#10 yanokwa评论)

我昨天在 Macbook 上安装的最新 Android Studio 也有同样的问题。

尽管模拟器二进制文件在 sdk/tools 文件夹中可用,但没有安装 Android 模拟器包。在 Android Studio-> Preferences-> System Settings-> Android SDK 中选择 Android 模拟器,下载并安装模拟器包。

在模拟器安装之后,我能够启动模拟器。

一个简单的解决方案是将这个别名添加到您的 .bashrc .profile或等效

alias emu="$ANDROID_HOME/tools/emulator"

然后 source .bashrc.profile或者只是简单地打开一个新的终端

最后运行您的模拟器将像 emu -avd name一样简单

我的机器人工作室在 Windows 操作系统中。但是这一页的大部分答案对我来说都不起作用。

但我想了个简单的办法。

在您的 Android 工作室 IDE 中,打开[ SDK Manager ] ,检查是否已经下载了[ Android 模拟器]和[ Android SDK 工具]

如何检查?

[ SDK 管理器]-> [外观和行为]-> [系统设置]-> [ Android SDK ]-> 这里有标签,选择第二个[ SDK 工具]。然后检查[ Android 模拟器]和[ Android SDK 工具]。

希望能对你有所帮助。

祝你好运!

所有其他的答案对我来说都不起作用,因为“ Android 模拟器”没有与 Android Studio 的标准安装一起安装。请确保您已经安装了它,然后尝试其他答案,如果需要的话。enter image description here

Zsh 用户可以添加:

function emulator { ( cd "$(dirname "$(whence -p emulator)")" && ./emulator "$@"; ) }

.zshrc(或 .zshenv)。

通过源代码更改文件加载当前 shell 的更改:

source ~/.zshrc

现在您可以在 zsh 中使用 emulator命令。

感谢 J.Costa 对 bash的回答。

我已经安装了最新的 Android 模拟器26.1.2,它已经解决了这个问题。

顺便说一下,如果在你的 PATH 中,你同时具备以下两点:

  • C:\AndroidSDK\tools

  • C:\AndroidSDK\emulator

emulator命令将尝试在 tools 文件夹中使用 Simulator.exe,该文件夹无法工作。

要在 PATH 中解决这个问题,您需要移动 C:\AndroidSDK\emulator 在工具目录之前的行中,这样模拟器 可执行文件将首先在模拟器文件夹内搜索,并将 优先于工具文件夹中的文件夹

MacOS: 如果你有一台苹果电脑,你可以移动 之前的 ~/Library/Android/sdk/emulator ~/Library/Android/sdk/tools

我的问题是我在运行模拟器的同时还在运行 VirtualBox。对于其他遇到这个问题的人,请看这里: Android 模拟器和虚拟机不能同时运行。希望其中一个答案能给你一个有效的解决方案。

这个问题似乎在 Cordova 版本7.0. X中得到了解决

如果你使用 Cordova 版本6.5.0,你可以很容易地修复它。

问题的根源在于位于 ./Platform/android/cordova/lib/Simulator.js的项目目录根目录中的 模拟器文件

只需更新下面一行(对我来说是第205行) :

. spawn (‘ em ulator’,args,{ stdio: ‘ Heritage’,detached: true })

. spawn (‘ em ulator’,args,{ stdio: ‘ Heritage’,detached: true,cwd: process.env [‘ ANDROID _ HOME’] +’/tools’})

这将修复您正在经历的相对路径问题。

此外,第56行的 Cordova 版本6.5.0还需要第二个修复。简单的 去掉字母“ s”从单词“ Avds”复数,使它“ AVD”单数。

我已经在 windows 10 x64上安装了 Android Studio 2.3.3(今天是2017-08-01)

同样的问题。

  • 我已经从 Android Studio-> Tools-> Android-> SDK Manager-> SDK Tools-> Android 模拟器(版本26.1.2)手动安装了模拟器

  • 安装后... 同样的问题

  • 我已经在工具路径之前将我的路径从模拟器文件夹添加到我的环境变量(就像上面的一个答案) ,但仍然存在同样的问题。
  • 然后,我从 tools 文件夹和 这对我来说解决了问题中删除了 Simulator.exe 和 Simulator-check.exe

我正面临这个问题

  java.io.IOException: Cannot download
'https://dl.google.com/android/repository/emulator-windows-4266726.zip'

我在 windows 10中升级到工作室3.0,我的模拟器停止工作,

删除以前的安装文件夹,如2.0和2.1目前在我的用户名和.AndroidStudio3.0文件夹下(保持原样)。

删除以前安装的模拟器,以任何方式停止工作。

从上面的链接手动下载模拟器 zip 文件。 将其内容粘贴到

       C:\Users\myusername\AppData\Local\Android\Sdk\emulator

创建了一个新的模拟器并启动它,Bingo! 它正在工作! !

我看到您应该只添加到下面的路径,以便能够启动模拟器

C:\Users\Ram\AppData\Local\Android\Sdk\platform-tools
C:\Users\Ram\AppData\Local\Android\Sdk\emulator.

在安装了 Android Studio 3.0或更高版本之后,我看到 C:\Users\Ram\AppData\Local\Android\Sdk\emulator < img src = “ https://i.stack.imgur.com/U70rz.png”alt = “ Simulator _ file”> 与 C:\Users\Ram\AppData\Local\Android\Sdk\tools < img src = “ https://i.stack.imgur.com/HlKcH.png”alt = “ tools _ file”> 具有相同的文件

工具文件夹缺少一些文件,因此请从路径中删除工具文件夹。

您可以使用下面的模拟器命令从命令提示符启动模拟器:

emulator -list-avds


emulator @Pixel_2_XL_API_26 - Based on the avd that you have setup

emulator_commands

首先,关于谷歌问题跟踪的 发行线程已经解决了。你不再需要像 ABc0那样设置环境变量作为变通方案。但是你必须升级你的 Android SDK 并使用 最新消息emulator包(二进制文件)。如果没有这些,您仍然会看到令人讨厌的 QT错误。

然后,确保安装了所需的 SDK 包以启动模拟器是至关重要的。当通过 sdkmanager安装特定的模拟器映像时,它不会检查或要求您安装所需的依赖项。每当您看到关于 ANDROID_SDK_ROOT的错误抱怨,例如 PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOTPANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value,正是因为这个原因。

因此,除了模拟器映像之外,还有3个基本的依赖关系:

  • platform-tools
  • platforms;android-<api_level>
  • emulator

你可以通过以下方式安装:

sdkmanager "platform-tools" "platforms;android-<api_level>" "emulator"

api_level与模拟器映像的 API 级别相同。

你也可以从 Android Studio 打开 Tools > AVD Manager,然后手动启动模拟器。

安装 Android 模拟器可以解决这个问题,因为在 Android 工作室中默认不启用这个设置。在 Android Studio 3 + 以上版本中,你无法在 Tools-> Android-> SDK Manager-> SDK Tools-> Android 模拟器下找到它,但是它在 File-> Settings-> 外观和行为-> System Settings-> Android SDK-> SDK Tools-> Android 模拟器下

底层操作系统中可能存在 bug/更新。因此,不要在 .profile/etc/environment.bashrc文件中更新到指向 adbemulator等的位置,而是将(复制并粘贴)所有 emulator文件夹放在 /usr/bin目录中。默认情况下,该/usr/bin 由系统指定。从终端安装 adb工具。这应该能解决所有问题。

或者,更新 /etc/bash.bashrc文件中的所有环境变量。注意: /etc/bash.bashrc文件是每次打开 bash 终端时执行的文件。

如果使用的是运行 Ubuntu x86映像的 Docker 容器,则可能无法在 Docker 映像中运行基于 x86的模拟器。您将得到 "Qt library not found"错误或 "Please ensure KVM is properly installed and usable"错误(更多信息 给你)。

另一种选择是使用基于 ARM 的模拟器,这种模拟器更容易运行,尽管运行速度较慢:

# Download an ARM emulator image
android-sdk/tools/bin/sdkmanager "system-images;android-24;default;armeabi-v7a"


# Create an ARM-based emulator AVD with 250 MB SD card
avdmanager create avd -n Android_7.0_API_24 -k "system-images;android-24;default;armeabi-v7a" -c 250M --force


# Check the image is properly created and available to run
android-sdk/emulator/emulator -list-avds


# Run the emulator
android-sdk/emulator/emulator -avd Android_7.0_API_24

更多信息: https://medium.com/@AndreSand/android-emulator-on-docker-container-f20c49b129ef

一个我以前从未见过的解决方案是将 android-sdk/emulator/emulator连接到 android-sdk/tools/emulator

愚蠢? 天才? 为我工作。

按照以下步骤解决该问题(Windows10) :

  1. 如果你安装了 Android 模拟器,请检查 Android 工作室,如果没有,请安装它。

  2. 如果您安装了 Intel x86仿真器加速器(HAXM 安装程序) ,请检查 Android 工作室,如果没有,请安装它。

  3. 在环境变量 = > 系统变量中编辑“路径”。您需要在 %ANDROID_HOME%\tools%ANDROID_HOME%\platform-tools之前为模拟器添加这一行: %ANDROID_HOME%\emulator(第三步是我的解决方案)

我刚刚为 无头模拟器方案解决了这个问题,所以如果我检查我的 andrdoid _ sdk 文件夹有2个可执行模拟器。问题是坐在一个 版本

${ANDROID_HOME}/emulator/emulator
version 29.3.4
no issue

第二个是

${ANDROID_HOME}/tools/emulator
version 26.0.3
QT issue

因此,请确保您使用的是最新的模拟器版本,特别是如果您需要无头模拟器所述: https://androidstudio.googleblog.com/2019/02/emulator-2818-canary.html

我正在做本地反应,我正面临着这个问题,我不能从 cmd 打开模拟器,这真的很烦人,因为我必须从 Android Studio 打开它,这是非常耗时的。

因此,首先检查是否可以打开模拟器运行 cmd 在 Android\Sdk\emulator文件夹或 Android\Sdk\tools,如果它在这些文件夹中的任何工作,那么这个解决方案是为你!

在我的情况下,在这两个文件夹中运行 cmd 是可以工作的,但是如果在其他任何文件夹中打开 cmd,我的模拟器就无法工作,并且通过这个错误:

[14684]:ERROR:android/android-emu/android/qt/qt_setup.cpp:28:Qt library not found at ..\emulator\lib64\qt\lib
Could not launch 'C:\Users\Shehr\AppData\Local\..\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe': No such file or directory

那么我是如何不浪费时间地解决这个问题的:

  1. 首先复制模拟器在 cmd 中工作的文件夹的路径,在我的例子中是 Android\Sdk\emulator & & Android\Sdk\tools,所以我们复制这些路径中的任何一个!
  2. 编辑系统环境变量并添加新变量,将复制的路径写入值中,并将其命名为“ EMULator”(或任何您想命名的变量)。

现在只需在任何文件夹中运行 cmd 中的命令,比如这个 %EMULATOR% -avd DEVICE_NAME,因此我们将变量命名为 EMULATOR,所以我们将使用 %EMULATOR%而不是 emulator!这就是 cmd 将如何定位到正确的 Simulator.exe 文件,并且它将正常工作。

我通过在 $PATH 中添加 $ANDROID _ SDK _ ROOT/模拟器来简单地修复它。

我不知道为什么 Android SDK 中有两个模拟器 exec 二进制文件。1) $ANDROID _ SDK _ ROOT/tools 2) $ANDROID _ SDK _ ROOT/模拟器,但是第二个对我来说很有用。

我在 ~/. config/fish/config.fish 中使用 fish shell添加以下代码行。

set -x ANDROID_SDK_ROOT $HOME/Android/Sdk
set -x JAVA_HOME $HOME/android-studio/jre
set -x PATH $PATH $ANDROID_SDK_ROOT/emulator
set -x PATH $PATH $ANDROID_SDK_ROOT/tools
set -x PATH $PATH $ANDROID_SDK_ROOT/tools/bin
set -x PATH $PATH $ANDROID_SDK_ROOT/platform-tools

我设法解决这个错误。在我的系统变量我需要设置 ANDROID_HOME

system variable

对于我的用户变量我需要 这两条路

C:\Users\tonyhudson\AppData\Local\Android\Sdk\platform-tools
C:\Users\tonyhudson\AppData\Local\Android\Sdk\emulator

请记住删除 C:\Users\tonyhudson\AppData\Local\Android\Sdk\tools,因为它将导致错误

user variable

当你只安装了 Android SDK 而没有安装 Android 工作室。您需要找到模拟器的路径并使用完整路径执行。比如说,

/usr/local/share/android-sdk/tools/Simulator@test

这应该能解决你的问题,至少这对我有用。

Cd $ANDROID _ HOME/tools 然后模拟器—— avd@whatever _ name _ it _ is

看起来我在工具文件夹和 AS4.1.1中的模拟器上遇到了同样的问题。我为 Mac 用户找到了一个使用新的模拟器文件夹的快速解决方案,那就是指定它的整个路径:

 ~/Library/Android/sdk/emulator/emulator <device> <flags>

显然模拟器没有安装,如果您使用第三方框架安装 Android SDK,就会出现这种情况。可以通过命令行方便地安装。

假设工具文件夹是 C:\Android\android-sdk\tools(windows) ,那么安装模拟器的命令是:

C:\Android\android-sdk\tools> sdkmanager --install emulator

我试穿了 Mac 面临着类似的挑战。我所做的错误,是在 ANDROID_HOME之前加入 PATH,这应该在结束时出现。下面是我的工作 zshrc文件。

export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
export ANDROID_HOME="/Users/rohitmandiwal/Library/Android/sdk"
export PATH=$ANDROID_HOME/emulator:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools/bin:$PATH

我添加了以下到我的 ~/.zshrc文件和它的工作。(M1 Pro Macbook)

export ANDROID_HOME=/Users/$USER/Library/Android/sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/Contents/Home
export PATH=$ANDROID_HOME/emulator:$PATH

记住在编辑后做 source ~/.zshrc