Impossible de lancer AVD dans l'émulateur: bibliothèque QT introuvable


132

Je suis nouveau sur Android Studio et je rencontre des problèmes lors de l'utilisation de l'émulateur. Quand j'essaye de courir, ça plante en disant:

"Impossible de lancer AVD dans l'émulateur" [6816]: ERREUR: ./ android / qt / qt_setup.cpp: 28: Bibliothèque Qt introuvable dans C: \ Users \ Jay \ AppData \ Local \ Android \ Sdk \ emulator \ lib64 \ qt \ lib

Impossible de lancer 'C: \ Users \ Jay \ AppData \ Local \ Android \ Sdk \ emulator / qemu / windows-x86_64 / qemu-system-i386.exe': aucun fichier ou répertoire de ce type

J'ai activé VT-x à partir des paramètres du BIOS mais je rencontre le problème. J'ai beaucoup cherché et je ne trouve pas de réponse. Toute aide sera très appréciée. Quelqu'un peut-il me donner une solution?

Capture d'écran de l'erreur Instantané du journal


voir ma réponse. Cela a parfaitement fonctionné.
Uddhav Gautam

Réponses:


157

Cela semble être un problème lié à la récente mise à jour. Une solution temporaire consiste à lancer l'émulateur à partir du /path/to/android-sdk/toolsrépertoire dans la ligne de commande.

Consultez https://code.google.com/p/android/issues/detail?id=235461 pour suivre le problème.


6
J'exécute l'émulateur depuis Android / sdk / tools mais j'obtiens toujours l'erreur QT.
Gonzalo

3
J'ai eu le même problème et cette solution fonctionne pour moi.
gontard

2
Dernières mises à jour d'hier. L'exécution à partir du répertoire <Android SDK> / tools a fonctionné pour moi, mais j'ai également / tools et / platform-tools dans mon chemin. Ils devraient résoudre ce problème.
Sean Aitken

13
Le commentaire n ° 25 sur le problème l'a résolu pour moi
Gregriggins36

1
Cela a fonctionné pour moi, mais j'ai dû en plus utiliser -use-system-libscomme argument pour le répertoire emulatorsitué dans les outils .
Rany Albeg Wein

105

Toutes les autres réponses n'ont pas fonctionné pour moi car "Android Emulator" n'a pas été installé avec une installation standard d'Android Studio. Assurez-vous de l'avoir installé, puis essayez d'autres réponses si nécessaire.entrez la description de l'image ici


2
L'installation de "Android Emulator" l'a également corrigé pour moi. Après cela, j'ai pu relancer l'émulateur, mais j'ai obtenu l'erreur HAXM suivante "unknown hax vcpu return 1". Le simple fait de redémarrer ma machine a finalement résolu tous les problèmes. (Voir: stackoverflow.com/a/41867405/2350644 )
user2350644

2
l'installation de l'émulateur à partir d'Android Studio a également fonctionné pour moi. Maintenant, je peux également exécuter Emulator à partir de la ligne de commande.
abhinavgoyal02

3
Vraiment merci, j'ai résolu mon problème après avoir perdu 3 heures :(
Hossam Ghareeb

1
J'ai eu le problème de démarrer l'émulateur sur Mac. Il plantait après le démarrage sans aucun message. Votre astuce m'a aidé.
Rostyslav Roshak

3
Cela m'a aidé aussi. Fondamentalement, avec ma nouvelle installation d'Android Studio, après avoir exécuté des mises à jour et essayé de démarrer une image dans l'émulateur pour la première fois. C'était l'erreur. Et oui, il est assez logique que vous ayez besoin d'installer l'émulateur si vous voulez l'utiliser. Ce serait bien si Android Studio disait simplement: "vous voulez exécuter un appareil virtuel sur l'émulateur que nous fournissons, mais vous devez d'abord installer cet émulateur, voulez-vous l'installer maintenant?" ....
morksinaanab

82

Pour les systèmes Linux ou Mac, vous pouvez ajouter les éléments suivants à ~/.profile(ou ~/.bashrc):

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

puis exécutez pour charger les modifications:

source ~/.profile

(ou source ~/.bashrcbien sûr)

Cela permettra d'exécuter emulatorjusqu'à ce qu'ils résolvent le problème

(basé sur un #10 yanokwacommentaire de https://code.google.com/p/android/issues/detail?id=235461 )


essayé avec SDK Tools 25.3.1 et ubuntu 16.10 et cela n'a pas fonctionné, a commencé à obtenir des erreurs de
libGL

J'ai utilisé which emulatordans osx pour trouver le dossier
V-SHY

@vallllll Je n'ai testé que sur Mac mais cela devrait aussi fonctionner sous Linux. Pouvez-vous exécuter dans Android Studio?
J. Costa

7
Dans zsh, utilisez à la whence -pplace de which. Mettez également cd ... && ...entre parenthèses pour les exécuter dans le sous-shell pour éviter de changer de répertoire dans le shell actuel.
mixel

11
Je peux confirmer que cela fonctionne sur linux et zsh avec les modifications de @ mixel:function emulator { ( cd "$(dirname "$(whence -p emulator)")" && ./emulator "$@"; ) }
Andy Jones

63

J'ai installé le dernier émulateur Android 26.1.2 qui a résolu ce problème.

Btw si dans votre PATH vous avez les deux:

  • C:\AndroidSDK\tools

  • C:\AndroidSDK\emulator

La emulatorcommande essaiera d'utiliser emulator.exe dans le dossier tools, qui ne fonctionne pas.

Pour résoudre cela dans votre PATH, vous devez vous déplacer C:\AndroidSDK\emulator dans la ligne avant le répertoire tools, de cette façon l'exécutable de l'émulateur sera d'abord recherché dans le dossier de l'émulateur et aura priorité sur celui présent dans le dossier tools

MacOS: si vous avez un Mac, vous pouvez passer ~/Library/Android/sdk/emulatoravant ~/Library/Android/sdk/tools


8
l'ajout du emulatorrépertoire au chemin m'a aidé
Koen.

14
l'ajout de ~ / Library / Android / sdk / emulator avant ~ / Library / Android / sdk / tools le corrige également sur Mac OS
Jacob Wallström

3
Oui, en utilisant mac OS, j'ai mis l'émulateur devant les autres dans PATH et ça marche
Aaron Gong

1
Merci - l'ajout emulatoravant toolsdans le chemin a fonctionné pour moi sur Linux.
Vanessa Deagan

Merci, j'ai ajouté le chemin d'accès aux variables d'environnement et je l'ai trié. Win10. Également comme mentionné ci-dessus, entrée d'émulateur avant Outils.
Francois Muller

20

une solution simple consiste à ajouter cet alias à votre .bashrc .profileou équivalent

alias emu="$ANDROID_HOME/tools/emulator"

puis source .bashrcou.profile ou tout simplement ouvrir un nouveau terminal

enfin exécuter votre émulateur sera aussi simple que emu -avd name


2
+1 pour l'alias, qui l'a résolu pour moi. Cependant, je n'ai pas défini ANDROID_HOME, je viens donc de remplacer le chemin normal. Je ne sais pas pourquoi il semble que la plupart l'ont et je ne l'ai pas ... Je suis sur mac.
TahoeWolverine

12

Les utilisateurs de Zsh peuvent ajouter:

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

à .zshrc(ou.zshenv ).

Chargez les modifications du shell actuel en recherchant le fichier modifié:

source ~/.zshrc

Vous pouvez maintenant utiliser emulator commande dans zsh.

Merci à J. Costa pour sa réponse bash.


10

J'ai eu le même problème avec le dernier Android Studio installé hier sur Macbook.

Bien que le binaire de l'émulateur soit disponible dans le dossier sdk / tools, le package Android Emulator n'a pas été installé. La sélection de l'émulateur Android dans Android Studio-> Préférences-> Paramètres système-> Android SDK, a téléchargé le package de l'émulateur et l'a installé.

Après l'installation de l'émulateur, je suis en mesure de lancer l'émulateur.


J'ai dû redémarrer Android Studio après avoir fait cela.
Adam Johns

Pour Linux, allez àTools -> Android -> SDK Manager -> SDK Tools -> Activate 'Android Emulator' -> OK
Mitja

La solution a fonctionné pour moi aussi, @AdamJohns sans redémarrer;)
AamirR

7

Tout d'abord, le fil de discussion sur Google Issue Tracker a déjà été résolu. Vous n'avez plus besoin de définir une variable d'environnement comme LD_LIBRARY_PATHune solution de contournement. Mais vous devez mettre à jour votre SDK Android et utiliser les DERNIERS emulator paquet (binaires). Sans cela, vous verrez toujours les QTerreurs ennuyeuses .

Ensuite, il est crucial de s'assurer que les packages SDK requis sont installés pour lancer un émulateur. Lors de l'installation d'une image d'émulateur spécifique par sdkmanager, il ne vérifiera ni ne vous demandera d'installer les dépendances requises. Chaque fois que vous voyez des plaintes d'erreur ANDROID_SDK_ROOT, telles que PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOTou PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value, c'est exactement à cause de cela.

Ainsi, les 3 autres dépendances essentielles en dehors de l'image de l'émulateur sont:

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

Que vous pouvez installer via:

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

Il api_levels'agit du même niveau d'API que votre image d'émulateur.


mhh j'arrive PANIC: Missing emulator engine program for 'x86' CPU.aussi où devrait le SDK_ROOTpoint? juste ANDROID_HOME?
kemuri

Je viens de découvrir se emulatortrouve maintenant sdk/emulatoret celui de l'outil provoque cette erreur.
kemuri

5

Pour ceux qui rencontrent toujours le problème même lors de l'exécution de la commande à partir du .../Sdk/toolsrépertoire, essayez d'ajouter l' -use-system-libsargument.

Il devrait donc être au format suivant:

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

Pour moi, voici un exemple:

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


2
testé cela sur mon ubuntu 16.10 et c'est la seule chose qui fonctionne, j'utilise juste l'émulateur -use-system-libs -avd Pixel_XL_API_25.
vallllll

5

J'ai eu le même problème et je l'ai résolu en installant l'émulateur car les mises à jour semblent l'avoir supprimé. Faites cela à partir des outils Android Studio-> Gestionnaire de SDK. J'espère que cela t'aides


La réinstallation de l'émulateur depuis SDK Manager a corrigé le bogue Qt, mais j'ai fini par avoir un autre problème avec HAX. Utilisation de Mac.
Gennon

Correction du problème HAX en quittant Docker sur ma machine. Vous devez démarrer l'émulateur à partir du répertoire des outils. Ou bien je reçois à nouveau le bogue Qt.
Gennon

4

J'ai installé Android Studio 2.3.3 (aujourd'hui 01/08/2017) sur Windows 10 x64

Même problème.

  • J'ai installé manuellement l'émulateur depuis Android Studio -> Outils -> Android -> Sdk Manager -> SDK Tools -> Android Emulator (version 26.1.2)

  • Après l'installation ... même problème

  • J'ai ajouté mon chemin du dossier de l'émulateur à mes variables d'environnement avant le chemin des outils (comme une réponse ci-dessus) mais toujours le même problème.
  • Ensuite, j'ai supprimé emulator.exe et emulator-check.exe du dossier tools et cela a résolu le problème


3

Ce problème semble être résolu dans la version 7.0.X de Cordova

Si vous utilisez la version 6.5.0 de Cordova, vous pouvez le réparer facilement.

La racine du problème se trouve dans le fichier emulator.js situé à la racine du répertoire de votre projet à ./platforms/android/cordova/lib/emulator.js

Mettez simplement à jour la ligne suivante (pour moi, c'était la ligne 205):

.spawn ('émulateur', args, {stdio: 'inherit', détaché: true})

à

.spawn ('émulateur', args, {stdio: 'inherit', détaché: true, cwd: process.env ['ANDROID_HOME'] + '/ tools'})

Cela résoudra le problème de chemin relatif que vous rencontrez.

De plus, il y a un deuxième correctif nécessaire pour la version 6.5.0 de Cordova à la ligne 56. Supprimez simplement la lettre «s» du mot « avds » au pluriel, pour le rendre « avd » singulier.


Juste pour ajouter cela aux autres lisant ceci est: si vous venez d'installer le SDK via Brew Cash, vous devez remplacer ANDROID_HOME par ANDROID_SDK_ROOT (à moins que vous n'ayez également configuré l'environnement ANDROID_HOME)
Lubricin

3

Je faisais face à ce problème

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

J'ai mis à jour vers le studio 3.0 dans Windows 10, mes émulateurs ont cessé de fonctionner.

Supprimé les dossiers d'installation précédents d'Android Studio comme 2.0 et 2.1 présents sous mon nom d'utilisateur à côté du dossier .AndroidStudio3.0 (en le laissant intact).

Émulateurs précédemment installés supprimés qui ont de toute façon cessé de fonctionner

Téléchargé manuellement le fichier zip de l'émulateur à partir du lien ci-dessus. Collé son contenu dans le dossier de l'émulateur de

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

Créé un nouvel émulateur et l'a lancé, Bingo! ça fonctionne!!


1
C'est celui qui a finalement fait l'affaire pour moi, sauf que je n'ai pas téléchargé à partir du lien mais mis à jour l'émulateur à l'aide du gestionnaire SDK dans Android Studio 3.0
yvesmancera

3

Suivez ces étapes pour résoudre ce problème (Windows 10):

  1. Vérifiez dans le studio Android si vous avez installé l'émulateur Android, sinon installez-le.

  2. Vérifiez dans le studio Android si vous avez installé Intel x86 Emulator Accelerator (programme d'installation HAXM), sinon installez-le.

  3. Dans Variables d'environnement => Variables système, éditez "Chemin". Vous devez ajouter cette ligne pour l'émulateur: %ANDROID_HOME%\emulatoravant %ANDROID_HOME%\toolset %ANDROID_HOME%\platform-tools(La troisième étape était une solution pour moi.)


2

Pour Mac

Si vous avez créé des émulateurs, essayez ce code 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]}

*** est votre nom d'utilisateur


2

Mon studio Android est dans le système d'exploitation Windows. mais la plupart des réponses de cette page ne fonctionnent pas pour moi.

mais je le comprends d'une manière simple.

Dans l'IDE de votre studio Android, ouvrez le [Sdk manager], vérifiez si vous avez téléchargé [Android Emulator] et [Android SDK tool]

Comment les vérifier?

[Gestionnaire SDK] -> [Apparence et comportement] -> [Paramètres système] -> [Android Sdk] -> Il y a des onglets ici et choisissez le second [Outils SDK]. puis vérifiez [Android Emulator] et [Android SDK tool].

J'espère que cela peut vous aider.

Bonne chance!


2

Je vois que vous ne devez ajouter que ci-dessous dans le chemin pour pouvoir lancer l'émulateur

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

Après avoir installé Android Studio 3.0 et supérieur, je vois qu'il C:\Users\Ram\AppData\Local\Android\Sdk\emulator dossier_émulateurcontient les mêmes fichiers queC:\Users\Ram\AppData\Local\Android\Sdk\tools dossier_outils

Il manque certains fichiers dans le dossier tools, supprimez donc le dossier tools du chemin.

Vous pouvez utiliser les commandes d'émulateur ci-dessous pour lancer l'émulateur à partir de l'invite de commande:

emulator -list-avds

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

emulator_commands


1

L'installation de l'émulateur Android résoudra le problème car ce paramètre n'est pas activé par défaut dans Android Studio. Dans Android Studio 3+, vous ne pouvez pas le trouver sous Outils -> Android -> Gestionnaire Sdk -> Outils SDK -> Émulateur Android, mais il est sous Fichier -> Paramètres -> Apparence et comportement -> Paramètres système -> SDK Android -> Outils SDK -> Émulateur Android


1

Je viens de résoudre ce problème pour le scénario d'émulateur sans tête.Si j'ai vérifié mon dossier andrdoid_sdk, il y a 2 émulateurs exécutables. Le problème est assis sur la version

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

et le second est

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

Assurez-vous donc d'utiliser la dernière version de l'émulateur, surtout si vous avez besoin d'un émulateur sans tête comme indiqué sur: https://androidstudio.googleblog.com/2019/02/emulator-2818-canary.html



0

Vous pouvez également simplement ouvrir Outils> AVD Manager à partir d'Android Studio et démarrer l'émulateur manuellement.


Je pensais que l'OP était sur le point d'échouer via les menus d'Android Studio. Pour moi, l'interface graphique fonctionne, mais je n'arrive pas à faire fonctionner la ligne emulator -avd "Nexus_5X_API_27"de commande .
MarkHu

0

Il peut y avoir des bogues / mises à jour survenus dans le système d'exploitation sous-jacent. Ainsi, au lieu de la mise à jour dans .profile, /etc/environmentou .bashrcfichier à un point adb, emulatoretc., mis (copier-coller) tout le emulatordossier dans le /usr/binrépertoire. Ce / usr / bin est par défaut pointé par le système. Installez l' adboutil à partir du terminal. Cela devrait tout résoudre.

Et / Ou, mettez à jour toutes vos variables d'environnement dans le /etc/bash.bashrcfichier. Notez que: /etc/bash.bashrcfile est ce qui est exécuté à chaque fois que vous ouvrez le terminal bash.


0

Si vous utilisez un conteneur Docker qui exécute une image Ubuntu x86, il peut ne pas être possible d'exécuter un émulateur basé sur x86 dans l'image Docker. Vous obtiendrez soit l' "Qt library not found"erreur, soit l' "Please ensure KVM is properly installed and usable"erreur (plus d'informations ici ).

Une alternative consiste à utiliser un émulateur basé sur ARM, qui est plus facile à exécuter, bien qu'il soit plus lent:

# 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

Plus d'infos: https://medium.com/@AndreSand/android-emulator-on-docker-container-f20c49b129ef


0

Une solution qui a fonctionné pour moi que je n'ai jamais vue ici auparavant est de lier android-sdk/emulator/emulator vers android-sdk/tools/emulator.

Stupide? Génie? travaille pour moi.


Ça ne marche pas. J'ai déjà le fichier à l'emplacement spécifié
Ashok Koyi

0

Je l'ai corrigé simplement en ajoutant $ ANDROID_SDK_ROOT / émulateur dans $ PATH.

Je ne sais pas pourquoi il existe deux binaires exécutables d'émulateur dans Android SDK. 1) dans $ ANDROID_SDK_ROOT / tools 2) $ ANDROID_SDK_ROOT / emulator, mais le second fonctionne pour moi.

J'utilise l' fish shellajout de la ligne ci-dessous dans ~ / .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

J'arrive à résoudre cette erreur. Dans ma variable système, je dois définirANDROID_HOME

variable système

Pour ma variable utilisateur, j'ai besoin de ces deux chemins

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

N'oubliez pas de supprimer C:\Users\tonyhudson\AppData\Local\Android\Sdk\toolscar cela provoquera l'erreur

variable utilisateur


0

Lorsque vous avez installé uniquement le SDK Android et non le studio Android. Vous devez trouver le chemin de l'émulateur et l'exécuter avec le chemin complet. Par exemple,

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

Cela devrait résoudre votre problème. Au moins, c'est ce qui a fonctionné pour moi.



0

Je travaille sur react-native et j'étais confronté à ce problème, je ne pouvais pas ouvrir Emulator depuis cmd, ce qui était vraiment ennuyeux car je devais l'ouvrir depuis Android Studio, ce qui prend beaucoup de temps.

Alors, vérifiez d'abord si vous pouvez ouvrir l'émulateur en exécutant cmd dans le Android\Sdk\emulatordossier ouAndroid\Sdk\tools si cela fonctionne dans l'un de ces dossiers, cette solution est pour vous! 😀

dans mon cas, exécuter cmd dans ces deux dossiers fonctionnait mais si ouvert cmd sur un autre dossier, mon émulateur ne fonctionnera pas et à travers cette erreur:

[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

Alors, comment je l'ai résolu sans perdre mon temps:

  1. copiez d'abord le chemin du dossier où l'émulateur fonctionne dans cmd, dans mon cas c'était Android\Sdk\emulator&&Android\Sdk\tools donc nous copions l'un de ces chemins!
  2. Modifiez les variables d'environnement système et ajoutez une nouvelle variable, écrivez votre chemin copié dans la valeur et nommez-le "EMULATOR" (ou ce que vous voulez nommer la variable).

Maintenant, exécutez simplement la commande dans cmd dans n'importe quel dossier comme celui-ci %EMULATOR% -avd DEVICE_NAMEafin que nous ayons nommé notre variable EMULATORafin que nous utilisions à la %EMULATOR%place de emulator! C'est ainsi que la cmd ciblera le fichier emulator.exe correct et cela fonctionnera.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.