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

时间:2017-03-02 11:33:45

标签: qt android-studio android-emulator avd

我是Android Studio新手,在使用模拟器时遇到问题。当我试图运行它时不停地说:

  

“无法在模拟器中启动AVD”[6816]:错误:./ android / qt / qt_setup.cpp:28:找不到Qt库   C:\ Users \用户周杰伦\应用程序数据\本地\的Android \ SDK \模拟器\ lib64下\ QT \ lib中

     

无法启动'C:\ Users \ Jay \ AppData \ Local \ Android \ Sdk \ emulator / qemu / windows-x86_64 / qemu-system-i386.exe':   没有这样的文件或目录

我已从BIOS设置启用了VT-x,但我遇到了问题。我搜索了很多,但找不到答案。任何帮助都感激不尽。谁能给我一个解决方案?

错误的屏幕截图 Log Snapshot

31 个答案:

答案 0 :(得分:137)

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

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

答案 1 :(得分:98)

所有其他答案对我不起作用,因为“Android Emulator”未安装Android Studio的标准安装。确保已安装它,然后根据需要尝试其他答案。enter image description here

答案 2 :(得分:81)

对于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评论)

答案 3 :(得分:53)

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

顺便说一句,如果在你的PATH中你同时拥有这两个:

  • C:\AndroidSDK\tools

  • C:\AndroidSDK\emulator

emulator命令将尝试使用tools文件夹中的emulator.exe,该文件夹无效。

  

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

中存在的那个

答案 4 :(得分:15)

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

alias emu="$ANDROID_HOME/tools/emulator"

然后source .bashrc.profile或只是打开一个新终端

最终运行您的模拟器将像emu -avd name

一样简单

答案 5 :(得分:10)

我昨天在Macbook上安装的最新Android Studio遇到了同样的问题。

虽然sdk / tools文件夹中提供了模拟器二进制文件,但未安装Android Emulator软件包。在Android Studio中选择Android模拟器 - >首选项 - >系统设置 - > Android SDK,下载模拟器包并安装它。

安装模拟器后,我可以启动模拟器。

答案 6 :(得分:10)

Zsh用户可以添加:

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

.zshrc(或.zshenv)。

通过获取更改的文件将更改加载到当前shell:

source ~/.zshrc

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

感谢J. Costa对bash的回答。

答案 7 :(得分:5)

对于那些即使在从.../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

答案 8 :(得分:5)

我有同样的问题,我通过安装模拟器解决了它,因为某种程度上更新似乎已删除它。从Android Studio工具执行此操作 - > SDK经理。希望这有帮助

答案 9 :(得分:3)

适用于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]}

***是您的用户名

答案 10 :(得分:3)

我正面临这个问题

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

我在Windows 10中更新到工作室3.0,我的模拟器停止工作。我做了修复,

删除了我的用户名旁边的2.0和2.1之类的android studio的先前安装文件夹以及.AndroidStudio3.0文件夹(保持不变)。

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

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

的模拟器文件夹中
       C:\Users\myusername\AppData\Local\Android\Sdk\emulator

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

答案 11 :(得分:3)

此问题似乎已在 Cordova版本7.0.X

中修复

如果您使用 Cordova版本6.5.0 ,则可以轻松修复。

问题的根源在位于项目目录根目录 ./ platforms / android / cordova / lib / emulator.js emulator.js 文件中>

只需更新以下行,(对我来说就是第205行):

  

.spawn('emulator',args,{stdio:'inherit',detached:true})

  

.spawn('emulator',args,{stdio:'inherit',detached:true,cwd:process.env ['ANDROID_HOME'] +'/ tools'})

这将解决您遇到的相对路径问题。

此外,第56行的 Cordova版本6.5.0 需要第二次修复。只需从“”字样中删除字母“s” avds “复数,使它” avd “奇异。

答案 12 :(得分:3)

我在Windows 10 x64上安装了Android Studio 2.3.3(今天的2017-08-01)

同样的问题。

  • 我已经从Android Studio手动安装了模拟器 - >工具 - > Android - > Sdk经理 - > SDK工具 - > Android模拟器(版本26.1.2)

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

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

答案 13 :(得分:2)

我看到你应该只在路径下面添加以启动模拟器

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 emulator_folderC:\Users\Ram\AppData\Local\Android\Sdk\tools tools_folder具有相同的文件

tools文件夹缺少某些文件,因此请从路径中删除tools文件夹。

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

emulator -list-avds

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

emulator_commands

答案 14 :(得分:2)

我的android工作室是在Windows操作系统中。但是这个页面中的大部分答案都不适用于我。

但我用一种简单的方法弄清楚了。

在你的android studio IDE中,打开[Sdk manager],检查你是否已下载[Android模拟器]和[Android SDK工具]

如何检查?

[SDK Manager] - > [外观&行为] - > [系统设置] - > [Android Sdk] - >这里有选项卡,选择第二个[SDK工具]。然后检查[Android Emulator]和[Android SDK工具]。

希望它可以帮助你。

祝你好运!

答案 15 :(得分:1)

首先,Google问题跟踪器上的issue thread已经解决。您不必再将LD_LIBRARY_PATH之类的环境变量设置为解决方法。但您必须升级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级别相同。

答案 16 :(得分:1)

安装Android模拟器将解决此问题,因为默认情况下在android studio中启用此设置。在android studio 3+以上,你无法在工具 - &gt; Android - &gt; Sdk Manager - &gt;下找到它。 SDK工具 - &gt; Android模拟器,但它位于文件 - &gt;设置 - &gt;外观和行为 - &gt;系统设置 - &gt; Android SDK - &gt; SDK工具 - &gt; Android模拟器

答案 17 :(得分:1)

一个对我有用的解决方案是将android-sdk/emulator/emulator链接到android-sdk/tools/emulator

哑巴?天才?工作形式。

答案 18 :(得分:1)

我只是为 headless模拟器方案解决了此问题,所以如果我检查了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

中所述的无头仿真器

答案 19 :(得分:0)

显然没有安装模拟器,如果您使用第三方框架安装了 Android SDK,就会发生这种情况。它可以使用命令行轻松安装。

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

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

答案 20 :(得分:0)

我的问题结果是我在与模拟器同时运行VirtualBox。对于遇到此问题的其他人,请查看此处:Android emulator and virtualbox cannot run at same time。希望其中一个答案能为您提供有效的解决方案。

答案 21 :(得分:0)

似乎我在tools文件夹和AS 4.1.1中使用模拟器存在相同的问题。我发现Mac用户可以使用模拟器文件夹的新模拟器的一种快速解决方案是指定其完整路径:

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

答案 22 :(得分:0)

cd $ ANDROID_HOME / tools然后仿真器--avd @whatever_name_it_is

答案 23 :(得分:0)

仅安装Android SDK而不安装Android Studio时。您需要找出仿真器的路径并以完整路径执行。例如,

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

这应该可以解决您的问题。至少这对我有用。

答案 24 :(得分:0)

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

system variable

对于我的User变量,我需要 这两个路径

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

答案 25 :(得分:0)

我只需在$ PATH中添加$ ANDROID_SDK_ROOT / emulator即可解决此问题。

我不知道Android SDK中为什么有两个模拟器exec二进制文件。 1)在$ ANDROID_SDK_ROOT /工具中2)$ ANDROID_SDK_ROOT /模拟器,但是第二个对我有用。

我正在使用fish shell在〜/ .config / fish / config.fish中添加以下行。

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

答案 26 :(得分:0)

我正在研究本机,并且遇到了这个问题,我无法从cmd中打开真正令人讨厌的Emulator,因为我不得不从Android Studio中打开它,这非常耗时。

因此,首先检查是否可以通过在Android\Sdk\emulator文件夹中运行cmd或在Android\Sdk\tools文件夹中运行cmd来打开仿真器,那么此解决方案适合您! ?

在我的情况下,在这两个文件夹中都运行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”(或任何您想命名的变量)。

现在,只需在%EMULATOR% -avd DEVICE_NAME这样的任何文件夹中的cmd中运行命令,以便我们将变量命名为EMULATOR,那么我们将使用%EMULATOR%而不是emulator!这就是cmd定位到正确的emulator.exe文件的方式,它将起作用。

答案 27 :(得分:0)

请按照以下步骤解决该问题(Windows 10):

  1. 在Android Studio中检查是否安装了Android模拟器,如果没有,请安装它。

  2. 在Android Studio中检查是否安装了Intel x86 Emulator Accelerator(HAXM安装程序),如果没有,请安装它。

  3. 在环境变量=>系统变量中编辑“路径”。您需要为仿真器添加以下行: %ANDROID_HOME%\emulator ,位于%ANDROID_HOME%\tools%ANDROID_HOME%\platform-tools之前(第三步对我来说是一个解决方案。)

答案 28 :(得分:0)

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

另一种方法是使用基于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

答案 29 :(得分:0)

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

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

答案 30 :(得分:0)

您也可以打开工具&gt; Android Studio中的AVD Manager并手动启动模拟器。