Não é possível iniciar o AVD no emulador: biblioteca QT não encontrada


132

Eu sou novo no Android Studio e estou tendo problemas ao usar o emulador. Quando tento executar, ele fica travando, dizendo:

"Não é possível iniciar o AVD no emulador" [6816]: ERRO: ./ android / qt / qt_setup.cpp: 28: biblioteca Qt não encontrada em C: \ Usuários \ Jay \ AppData \ Local \ Android \ Sdk \ emulador \ lib64 \ qt \ lib

Não foi possível iniciar 'C: \ Users \ Jay \ AppData \ Local \ Android \ Sdk \ emulator / qemu / windows-x86_64 / qemu-system-i386.exe': esse arquivo ou diretório não existe

Ativei o VT-x nas configurações do BIOS e ainda estou tendo o problema. Pesquisei bastante e não consigo encontrar uma resposta. Qualquer ajuda será muito apreciada. Alguém pode me dar uma solução?

Captura de tela do erro Instantâneo de log


veja minha resposta. Funcionou perfeitamente.
Uddhav Gautam

Respostas:


157

Este parece ser um problema relacionado à atualização recente. Uma solução temporária é iniciar o emulador a partir do /path/to/android-sdk/toolsdiretório na linha de comando.

Consulte https://code.google.com/p/android/issues/detail?id=235461 para acompanhar o problema.


6
Estou executando o emulador do Android / sdk / tools, mas ainda estou recebendo o erro QT.
Gonzalo

3
Eu tive o mesmo problema e esta solução funciona para mim.
Gontard 6/03

2
Últimas atualizações de ontem. A execução no diretório <Android SDK> / tools funcionou para mim, mas também tenho / tools e / platform-tools no meu caminho. Eles deveriam consertar isso.
Sean Aitken

13
O comentário # 25 sobre a questão fixa-lo para mim
Gregriggins36

1
Funcionou para mim, mas tive que usar adicionalmente -use-system-libscomo argumento o diretório emulatorlocalizado no diretório tools .
Rany Albeg Wein

105

Todas as outras respostas não funcionaram para mim, pois o "Android Emulator" não foi instalado com uma instalação padrão do Android Studio. Verifique se você o instalou e tente outras respostas, se necessário.insira a descrição da imagem aqui


2
A instalação do "Android Emulator" também foi corrigida para mim. Depois disso, consegui iniciar o emulador novamente, mas obtive o seguinte erro do HAXM "unknown hax vcpu return 1". Simplesmente reiniciar minha máquina finalmente resolveu todos os problemas. (Veja: stackoverflow.com/a/41867405/2350644 )
user2350644

2
instalar o emulador de dentro do Android Studio também funcionou para mim. Agora também posso executar o emulador na linha de comando.
abhinavgoyal02

3
Realmente muito obrigado, resolveu o meu problema depois de desperdiçar 3 horas :(
Hossam Ghareeb

1
Eu tive o problema de iniciar o emulador no Mac. Ele costumava travar após a inicialização sem nenhuma mensagem. Sua dica me ajudou.
Rostyslav Roshak

3
Isso me ajudou também. Basicamente, com minha nova instalação do Android Studio, depois de executar as atualizações e tentar iniciar uma imagem no emulador pela primeira vez. Este foi o erro. E sim, é bastante lógico que você precisa ter o emulador instalado, se quiser usá-lo. Seria bom se o Android Studio dissesse: "você deseja executar um dispositivo virtual no emulador que fornecemos, mas é necessário instalar esse emulador primeiro, você deseja instalá-lo agora?" ....
morksinaanab

82

Para sistemas Linux ou Mac, você pode adicionar o seguinte a ~/.profile(ou ~/.bashrc):

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

em seguida, execute para carregar as alterações:

source ~/.profile

(ou source ~/.bashrcclaro)

Isso permitirá a execução emulatoraté que eles solucionem o problema

(com base no #10 yanokwacomentário de https://code.google.com/p/android/issues/detail?id=235461 )


tentei isso com SDK Tools 25.3.1 e Ubuntu 16.10 e não funcionou, começou a receber erros libGL
vallllll

eu usei which emulatorno osx para encontrar a pasta
V-SHY 23/03

@allllll Eu só testei no Mac, mas deve funcionar no Linux também. Você é capaz de executar no Android Studio?
233 J. Costa

7
No zsh use em whence -pvez de which. Coloque também cd ... && ...parênteses para executá-los no subshell para evitar a alteração do diretório no shell atual.
mixel

11
Posso confirmar que ele funciona no linux e no zsh com as modificações do @ mixel:function emulator { ( cd "$(dirname "$(whence -p emulator)")" && ./emulator "$@"; ) }
Andy Jones

63

Instalei o Android Emulator 26.1.2 mais recente, que resolveu esse problema.

Btw, se no seu PATH você tem ambos:

  • C:\AndroidSDK\tools

  • C:\AndroidSDK\emulator

O emulatorcomando tentará usar o emulator.exe dentro da pasta tools, que não está funcionando.

Para resolver isso em seu PATH, você precisa mover C:\AndroidSDK\emulator a linha antes do diretório tools, dessa forma, o executável do emulador será pesquisado primeiro dentro da pasta do emulador e terá precedência sobre o presente na pasta tools

MacOS: Se você possui um Mac, pode mover-se ~/Library/Android/sdk/emulatorantes ~/Library/Android/sdk/tools


8
adicionar o emulatordiretório ao caminho me ajudou
Koen.

14
acrescentando ~ / Library / Android / SDK / emulador antes ~ / Library / Android / SDK / ferramentas correções-lo no Mac OS, bem
Jacob Wallström

3
Sim, usando o Mac OS, eu coloquei emulador na frente dos outros em PATH e funciona
Aaron Gong

1
Obrigado - adicionando emulatorantes toolsno caminho funcionou para mim no Linux.
Vanessa Deagan

Obrigado, adicionei o caminho para o ambiente Variables e o resolvi. Win10. Também como mencionado acima, entrada do emulador antes de Ferramentas.
Francois Muller

20

uma solução simples é adicionar esse alias ao seu .bashrc .profileou equivalente

alias emu="$ANDROID_HOME/tools/emulator"

então source .bashrcou .profileou simplesmente abra um novo terminal

finalmente, executar seu emulador será tão simples quanto emu -avd name


2
+1 para o alias, que resolveu para mim. Eu não tenho ANDROID_HOME definido, então substituí o caminho normal. Não sei por que parece que a maioria tem e eu não ... eu estou no mac.
precisa saber é o seguinte

12

Os usuários do Zsh podem adicionar:

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

para .zshrc(ou .zshenv).

Carregue as alterações no shell atual fornecendo o arquivo alterado:

source ~/.zshrc

Agora você pode usar o emulatorcomando no zsh.

Agradeço a J. Costa por sua resposta bash.


10

Eu tive o mesmo problema com o último Android Studio instalado ontem no Macbook.

Embora o binário do emulador estivesse disponível na pasta sdk / tools, o pacote Android Emulator não estava instalado. Selecionando o Android Emulator no Android Studio-> Preferências-> Configurações do Sistema-> Android SDK, baixou o pacote do emulador e o instalou.

Após a instalação do emulador, sou capaz de iniciar o emulador.


Eu tive que reiniciar o Android Studio depois de fazer isso.
Adam Johns

Para Linux, vá paraTools -> Android -> SDK Manager -> SDK Tools -> Activate 'Android Emulator' -> OK
Mitja 11/17

Solução funcionou para mim também, @AdamJohns sem reiniciar;)
AamirR

7

Primeiro, o segmento de problemas no Google Issue Tracker já foi resolvido. Você não precisa mais definir variáveis ​​de ambiente como LD_LIBRARY_PATHsolução alternativa. Mas você precisa atualizar o SDK do Android e usar o pacote MAIS emulator RECENTE (binários). Sem isso, você ainda verá os QTerros irritantes .

Em seguida, é crucial garantir que os pacotes SDK necessários estejam instalados para iniciar um emulador. Ao instalar uma imagem de emulador específica sdkmanager, ele não verificará ou solicitará a instalação das dependências necessárias. Sempre que você vê um erro reclamando ANDROID_SDK_ROOT, como PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOTou PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value, é exatamente por isso.

Portanto, as outras 3 dependências essenciais, além da imagem do emulador, são:

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

Que você pode instalar via:

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

O api_levelé o mesmo nível API sua imagem emulador é.


mhh eu PANIC: Missing emulator engine program for 'x86' CPU.também chego aonde deveria ir o SDK_ROOTponto? apenas ANDROID_HOME?
Kemuri

Acabei de descobrir emulatorsenta - se agora sdk/emulatore o da ferramenta causa esse erro.
Kemuri

5

Para aqueles que ainda estão enfrentando o problema, mesmo ao executar o comando do .../Sdk/toolsdiretório, tente adicionar o -use-system-libsargumento.

Portanto, deve estar no seguinte formato:

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

Para mim, aqui está um exemplo:

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


2
testei isso no meu ubuntu 16.10 e é a única coisa que funciona, estou apenas usando o emulador -use-system-libs -avd Pixel_XL_API_25.
vallllll

5

Eu tive o mesmo problema e o resolvi instalando o emulador, porque de alguma forma as atualizações parecem excluí-lo. Faça isso nas ferramentas do Android Studio-> Gerenciador de SDK. Espero que isto ajude


A reinstalação do emulador do SDK Manager corrigiu o erro Qt, mas acabei tendo outro problema com o HAX. Usando o Mac.
Gennon 24/03

Corrigido o problema do HAX saindo do Docker na minha máquina. Tem que iniciar o emulador a partir do diretório tools. Ou então eu recebo o bug Qt novamente.
Gennon 24/03

4

Eu instalei o Android Studio 2.3.3 (hoje 01/08/2017) no windows 10 x64

O mesmo problema.

  • Instalei o emulador manualmente no Android Studio -> Ferramentas -> Android -> Gerenciador de SDK -> Ferramentas SDK -> Emulador do Android (versão 26.1.2)

  • Após a instalação ... mesmo problema

  • Eu adicionei meu caminho da pasta emulador às variáveis ​​de ambiente antes do caminho das ferramentas (como uma resposta acima), mas ainda o mesmo problema.
  • Em seguida, excluí o emulator.exe e o emulator-check.exe da pasta tools e isso foi resolvido por mi the issue


3

Esse problema parece estar corrigido na versão 7.0.X do Cordova

Se você estiver usando o Cordova versão 6.5.0, poderá corrigi-lo facilmente.

A raiz do problema está no arquivo emulator.js localizado na raiz do diretório do seu projeto em ./platforms/android/cordova/lib/emulator.js

Simplesmente atualize a seguinte linha (para mim era a linha 205):

.spawn ('emulador', args, {stdio: 'herdar', desanexado: true})

para

.spawn ('emulador', args, {stdio: 'herdar', desanexado: true, cwd: process.env ['ANDROID_HOME'] + '/ tools'})

Isso corrigirá o problema de caminho relativo que você está enfrentando.

Além disso, há uma segunda correção necessária para a versão 6.5.0 do Cordova na linha 56. Basta soltar a letra "s" da palavra " avds " no plural, para torná-la " avd " singular.


Só para acrescentar que para os outros lendo este é: se você acabou de instalar o SDK via bebida dinheiro que você deve substituir ANDROID_HOME com ANDROID_SDK_ROOT (a menos que você tenha configurado o env ANDROID_HOME também)
lubricin

3

Eu estava enfrentando esse problema

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

Atualizei para o studio 3.0 no Windows 10, meus emuladores pararam de funcionar.

Excluídas pastas de instalação anteriores do android studio como 2.0 e 2.1 presentes sob o meu nome de usuário, ao lado da pasta .AndroidStudio3.0 (deixando intocada).

Excluídos emuladores instalados anteriormente que, de qualquer forma, pararam de funcionar.

Baixou o arquivo zip do emulador manualmente no link acima. Colou seu conteúdo na pasta emulador de

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

Criou um novo emulador e o iniciou, Bingo! está funcionando!!


1
Isso é o que finalmente fez o truque para mim, se eu não baixar a partir do link, mas atualizou o emulador usando SDK Manager no Android Studio 3.0
yvesmancera

3

Siga estas etapas para resolver esse problema (Windows 10):

  1. Faça check-in no Android studio se você instalou o emulador do Android; caso contrário, instale-o.

  2. Faça check-in no Android studio se você instalou o Intel x86 Emulator Accelerator (instalador HAXM); caso contrário, instale-o.

  3. Em Variáveis ​​de ambiente => Variáveis ​​do sistema, edite "Caminho". Você precisa adicionar esta linha para o emulador: %ANDROID_HOME%\emulatorantes %ANDROID_HOME%\toolse %ANDROID_HOME%\platform-tools(a terceira etapa foi uma solução para mim).


2

Para Mac

Se você criou emuladores, tente este código de 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]}

*** é o seu nome de usuário


2

Meu estúdio android está no sistema operacional Windows. mas a maioria das respostas nesta página não funciona para mim.

mas eu entendo isso de uma maneira fácil.

No seu IDE do android studio, abra o [Sdk manager], verifique se você fez o download do [Android Emulator] e [Android SDK tool]

Como verificá-los?

[Gerenciador do SDK] -> [Aparência e comportamento] -> [Configuração do sistema] -> [Android Sdk] -> Existem guias aqui e escolha a segunda [Ferramentas do SDK]. depois marque [Android Emulator] e [Android SDK tool].

Espero que possa ajudá-lo.

Boa sorte!


2

Vejo que você só deve adicionar abaixo no caminho para poder iniciar o emulador

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

Depois de instalar o Android Studio 3.0 e superior, vejo que C:\Users\Ram\AppData\Local\Android\Sdk\emulator emulator_foldertem os mesmos arquivos queC:\Users\Ram\AppData\Local\Android\Sdk\tools tools_folder

Alguns arquivos estão faltando na pasta tools; portanto, remova a pasta tools do caminho.

Você pode usar os comandos abaixo do emulador para iniciar o emulador no prompt de comando:

emulator -list-avds

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

emulator_commands


1

A instalação do emulador do Android resolverá o problema, pois essa configuração não está ativada por padrão no android studio. No android studio 3+ em diante, você não pode encontrá-lo em Ferramentas -> Android -> Gerenciador de SDK -> Ferramentas SDK -> Emulador do Android, mas está em Arquivo -> Configurações -> Aparência e comportamento -> Configurações do sistema -> SDK para Android -> Ferramentas SDK -> Emulador para Android


1

Acabei de resolver esse problema no cenário do emulador sem cabeça. Portanto, se eu verifiquei minha pasta andrdoid_sdk, existem 2 emuladores executáveis. A questão está na versão

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

e o segundo é

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

verifique se você está usando a versão mais recente do emulador, especialmente se precisar de um emulador sem cabeça, conforme indicado em: https://androidstudio.googleblog.com/2019/02/emulator-2818-canary.html



0

Você também pode simplesmente abrir Ferramentas> AVD Manager no Android Studio e iniciar o emulador manualmente.


Eu pensei que o OP foi sobre a falha por meio dos menus Android Studio. Para mim, a GUI funciona, mas não consigo fazer a linha de comando emulator -avd "Nexus_5X_API_27"funcionar.
MarkHu 9/05/19

0

Pode haver os erros / atualizações ocorridos no sistema operacional subjacente. Assim, em vez de atualizar em .profile, /etc/environmentou .bashrcarquivo a ponto de adb, emulatoretc, put (copiar e colar) toda a emulatorpasta dentro /usr/bindo diretório. Este / usr / bin é apontado por padrão pelo sistema. Instale a adbferramenta a partir do terminal. Isso deve resolver tudo.

E / ou atualize todas as suas variáveis ​​de ambiente no /etc/bash.bashrcarquivo. Observe que: /etc/bash.bashrcfile é o que é executado toda vez que você abre o terminal bash.


0

Se você estiver usando um contêiner do Docker que esteja executando uma imagem do Ubuntu x86, talvez não seja possível executar um emulador baseado em x86 na imagem do Docker. Você receberá o "Qt library not found"erro ou o "Please ensure KVM is properly installed and usable"erro (mais informações aqui ).

Uma alternativa é usar um emulador baseado em ARM, que é mais fácil de executar, embora seja mais lento:

# 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

Mais informações: https://medium.com/@AndreSand/android-emulator-on-docker-container-f20c49b129ef


0

Uma solução que funcionou para mim que eu nunca vi aqui antes é o link android-sdk/emulator/emulatorpara android-sdk/tools/emulator.

Burro? Gênio? funciona para mim.


Não funciona. Eu já tenho o arquivo no local especificado
Ashok Koyi 12/07/19

0

Corrigi-o simplesmente adicionando $ ANDROID_SDK_ROOT / emulator no $ PATH.

Não sei por que existem dois binários exec emulador no SDK do Android. 1) no $ ANDROID_SDK_ROOT / tools 2) $ ANDROID_SDK_ROOT / emulador, mas o segundo é trabalhado para mim.

Estou usando a fish shelladição da linha abaixo em ~ / .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

0

Eu consigo resolver esse erro. Na minha variável de sistema, preciso definirANDROID_HOME

variável de sistema

Para minha variável User, eu preciso desses dois caminhos

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

Lembre-se de excluir, C:\Users\tonyhudson\AppData\Local\Android\Sdk\toolspois causará o erro

variável de usuário


0

Quando você instalou apenas o Android SDK e não o Android studio. Você precisa descobrir o caminho do emulador e executar com o caminho completo. Por exemplo,

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

Isso deve resolver seu problema. Pelo menos é isso que funcionou para mim.



0

Estou trabalhando no react-native e estava enfrentando esse problema, não consegui abrir o Emulator do cmd, o que foi realmente irritante porque tive que abri-lo no Android Studio, o que leva muito tempo.

Portanto, verifique primeiro se você pode abrir o emulador executando o cmd na Android\Sdk\emulatorpasta ou Android\Sdk\toolsse está funcionando em alguma dessas pastas, então esta solução é para você! 😀

no meu caso, rodar o cmd nessas duas pastas estava funcionando, mas se abrir o cmd em qualquer outra pasta, meu emulador não funcionará e por esse erro:

[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

Então, como eu resolvi isso sem perder meu tempo:

  1. primeiro copie o caminho da pasta em que o emulador está trabalhando no cmd; no meu caso, era Android\Sdk\emulator&&; Android\Sdk\toolsportanto, copiamos qualquer um desses caminhos!
  2. Edite as variáveis ​​de ambiente do sistema e adicione uma nova variável, escreva o caminho copiado no valor e denomine "EMULATOR" (ou o que você quiser nomear a variável).

Agora basta executar o comando em cmd em qualquer pasta como esta, %EMULATOR% -avd DEVICE_NAMEassim como nomeamos nossa variável, EMULATORentão usaremos em %EMULATOR%vez de emulator! É assim que o cmd direcionará para o arquivo emulator.exe correto e ele funcionará.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.