J'essaie de lancer un émulateur Android à l'aide du gestionnaire AVD. c'est mon avd: http://image-upload.de/image/fnx79V/52b0d050ee.png
et c'est ce qui se passe en commençant par:
http://image-upload.de/image/vGpQfa/e912d83939.png
J'ai un Macbook Pro Retina. Installé le pilote Haxm directement à partir de la page intel.
Aucun émulateur ne fonctionne. Tous reçoivent le même message "d'erreur".
Exécution de la commande (cette erreur concernait l’utilisation de Homebrew pour installer Android-sdk et Android-platform-tools | quiconque rencontre le même problème devrait l’aider ou le regarder à l’endroit où se trouve le conflit)
export Android_EMULATOR_DEBUG=1 test20
emulator:Found AVD name 'test20'
emulator:Found AVD target architecture: x86
emulator:Looking for emulator-x86 to emulate 'x86' CPU
emulator:Probing program: ./emulator-x86
emulator:Probing path for: emulator-x86
emulator:Found target-specific emulator binary: /usr/local/bin/emulator-x86
emulator:Probing for: /usr/local/bin/libOpenglRender.dylib
emulator:Probing for: /usr/local/bin/lib/libOpenglRender.dylib
emulator:Probing for: /usr/local/lib/libOpenglRender.dylib
emulator:Probing for: /usr/local/bin/lib64OpenglRender.dylib
emulator:Probing for: /usr/local/bin/lib/lib64OpenglRender.dylib
emulator:Probing for: /usr/local/lib/lib64OpenglRender.dylib
emulator:Could not find OpenGLES emulation Host libraries!
emulator: ERROR: This AVD's configuration is missing a kernel file!!
emulator -avd test21
emulator:Found AVD name 'test21'
emulator:Found AVD target architecture: x86_64
emulator:Looking for emulator backend for x86_64 CPU
emulator:Probing program: ./emulator-x86_64
emulator:Probing path for: emulator-x86_64
emulator:Looking for emulator-x86 to emulate 'x86_64' CPU
emulator:Probing program: ./emulator-x86
emulator:Probing path for: emulator-x86
PANIC: Missing emulator engine program for 'x86_64' CPUS.
Après avoir résolu le problème avec Homebrew:
J'ai essayé un peu et trouvé ceci:
emulator64-x86 -avd test20
Creating filesystem with parameters:
Size: 69206016
Block size: 4096
Blocks per group: 32768
Inodes per group: 4224
Inode size: 256
Journal blocks: 1024
Label:
Blocks: 16896
Block groups: 1
Reserved block group size: 7
Created filesystem with 11/4224 inodes and 1302/16896 blocks
emulator: ERROR: Could not load OpenGLES emulation library: dlopen(lib64OpenglRender.dylib, 1): image not found
emulator: WARNING: Could not initialize OpenglES emulation, using software renderer.
HAX is working and emulator runs in fast virt mode
qemu: could not load PC BIOS 'bios.bin'
Pour tous ceux qui ont le même problème, peut-être que ces étapes vous aideront:
Exécutez votre émulateur en mode débogage:
export Android_EMULATOR_DEBUG=1 emulatorName
S'il existe un chemin qui semble étrange, recherchez d'autres installations telles que Homebrew et supprimez le conflit (désinstallez-en un).
Lorsque la bibliothèque est manquante, vous devez exporter la variable:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$Android_HOME/tools/lib
Et lorsque l'erreur "qemu:" impossible de charger le BIOS de l'ordinateur "bios.bin" ", un correctif consiste à exécuter l'émulateur avec le chemin complet:
/Applications/Android\ Studio.app/sdk/tools/emulator64-x86 -avd test20
In your case it is maybe a other path.
Si vous utilisez macOS, ajoutez les deux répertoires Android SDK emulator
et tools
au chemin suivant:
Étape 1: Dans mon cas, l'ordre était important, d'abord emulator
, puis tools
.
export Android_SDK=$HOME/Library/Android/sdk
export PATH=$Android_SDK/emulator:$Android_SDK/tools:$PATH
Étape 2: Rechargez vous .bash_profile
Ou .bashrc
en fonction du système d'exploitation
Étape 3: Obtenir la liste des émulateurs disponibles: $emulator -list-avds
Étape 4: Lancez l’émulateur depuis la ligne de commande et remplacez avd
par le nom de votre émulateur $emulator @avd
N'oubliez pas d'ajouter le symbole @
.
Cela a été testé avec macOS High Sierra 10.13.4 et Android Studio 3.1.2.
La solution suivante pour démarrer emulator-x86 a fonctionné pour moi:
cd $SDK/tools;
ln -s emulator64-x86 emulator-x86
Ou sous Windows, ouvrez l'invite de commande (Admin)
cd %Android_SDK_ROOT%\tools
mklink emulator64-x86.exe emulator-x86.exe
Et maintenant, l'émulateur démarrera à partir du gestionnaire de SDK.
Note: Les émulateurs sont situés dans le dossier emulators
dans les versions plus récentes.
J'ai eu ce problème après la mise à niveau de Android Studio vers la version 3.2 et même la mise à niveau de certains SDK-Packages.
La cause était que le chemin d'accès à l'émulateur avait changé. N'utilisez donc pas ...../Android/Sdk/tools/emulator
mais plutôt ....../Android/Sdk/emulator/emulator
.
Naviguez jusqu'au dossier de l'émulateur situé dans Android SDK folder
/emulator
cd ${Android_HOME}/emulator
Puis tapez cette commande pour ouvrir l’émulateur sans le studio Android:
$ ./emulator -list-avds
$ ./emulator -avd Nexus_5X_API_28_x86
Nexus_5X_API_28_x86
est mon AVD, vous devez donner le nom de votre AVD
Sur Mac après avoir installé Android Studio IDE Android-studio-ide-173.4907809-mac.dmg
et en utilisant studio SDK Manager pour installer SDK Tools
Ajoutez à votre CHEMIN en utilisant ~/.profile
ou ~/.bash_profile
et assurez-vous que vous avez $Android_HOME/emulator
dans votre $PATH
avant $Android_HOME/tools
comme ceci:
export Android_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$Android_HOME/emulator
export PATH=$PATH:$Android_HOME/tools
export PATH=$PATH:$Android_HOME/tools/bin
export PATH=$PATH:$Android_HOME/platform-tools
alias androidemulator='emulator -avd Nexus_5X_API_28_x86'
Pour Windows 10, 5.29.18:
En utilisant la commande promt je viens de recevoir le répertoire de l'émulateur:
cd C:\Android\sdk\emulator
puis tapé la commande:
emulator -avd Nexus_S_API_27
Nexus_S_API_27
est le nom de mon émulateur personnalisé.
Othewize il va abuser:
PANIC: Missing emulator engine program for 'x86' CPU.
Il existe deux fichiers binaires nommés emulator
. qui se trouve sous $SDK/tools/emulator
un autre sous $SDK/emulator/
$SDK/emulator
à votre env. PATHJ'ai écrit un script pour m'aider à appeler la liste avd
#!/bin/bash -e
echo "--- $# $(PWD)"
HOME_CURRENT=$(PWD)
HOME_EMULATOR=/Users/pcao/Library/Android/sdk/emulator
if [ "$#" -eq 0 ]
then
echo "ERROR pls try avd 23 or avd 28 "
fi
if [ "$1" = "23" ]
then
echo "enter 23"
cd $HOME_EMULATOR
./emulator -avd Nexus_5_API_23_Android6_ &
cd $HOME_CURRENT
fi
if [ "$1" = "28" ]
then
echo "enter 28"
cd $HOME_EMULATOR
./emulator -avd Nexus_5_API_28_GooglePlay_ &
cd $HOME_CURRENT
fi
Vous pouvez également essayer ce qui est suggéré ici: https://www.stkent.com/2017/08/10/update-your-path-for-the-new-Android-emulator-location.html =
En bref, lancez l'émulateur à partir du dossier sdk/emulator
Vous ne pouvez pas démarrer le répertoire emulator-x86, car LD_LIBRARY_PATH doit être spécialement configuré pour rechercher les bibliothèques d'émulation PC Bios et GPU (c'est pourquoi "emulator" existe, il modifie le chemin, puis appelle emulator-x86).
Avez-vous mis à jour la première sortie? Il semble que 'emulator' trouve toujours '/ usr/local/bin/emulator-x86'
Avait le même problème sur Windows7 64bit. La raison pour laquelle il ne l'a pas été manquait le fichier emulator-x86.exe
sous sdk/tools. Résolu en supprimant Android SDK Tools à l'aide de Android SDK Manager et en l'installant à nouveau. Le fichier existe maintenant et l'émulateur fonctionne comme prévu.
Cela a fonctionné pour moi sur macOS:
echo 'export PATH=$PATH:'$HOME'/Library/Android/sdk/emulator:'$HOME'/Library/Android/sdk/tools:'$HOME'/Library/Android/sdk/platform-tools' >> ~/.bash_profile
source ~/.bash_profile
SUR WINDOWS - la mise à jour du chemin système a fonctionné pour moi. Créez une variable d'environnement pour l'emplacement de votre sdk appelée Android_SDK
puis ajoutez-les à votre chemin, dans cet ordre:
%Android_SDK%\emulator
%Android_SDK%\platform-tools
%Android_SDK%\tools
%Android_SDK%\tools\bin
Supprimer les deux Android SDK Tools et Android SDK PLatform-tools; puis téléchargez à nouveau les deux paquets. Maintenant, créez un nouvel émulateur et démarrez-le. ça va marcher. Vous pourrez peut-être utiliser vos anciens émulateurs.
Essayez la solution suivante pour démarrer emulator-x86:
export LD_LIBRARY_PATH=$SDK/tools/lib:$LD_LIBRARY_PATH
$SDK/tools/emulator-x86 <your-other-options>
Où $ SDK est le chemin d'accès à votre installation de SDK. C'est en un mot ce que "l'émulateur" essaie de faire. Vous voudrez peut-être démarrer emulator64-x86 au lieu de emulator-x86 si le premier existe cependant.
Avast Antivirus détecte emulator-arm.exe en tant que thread et le bloque pour certaines raisons. Lorsque vous ajoutez des exclusions à la page Virus Chest avec un clic droit -> "restaurer et ajouter des exclusions", les problèmes ne seront pas résolus lors de vos prochaines éditions. Pour résoudre ce problème en permanence dans Avast 2015:
Paramètres ->
Protection active ->
Bouclier du système de fichiers ->
Personnaliser ->
Les exclusions ajoutent ensuite le fil en tant qu'exclusion. Et puis appuyez sur ok.
J'ai rencontré le même problème et je n'ai jamais travaillé pour moi sauf avant d'aller dans le dossier de l'émulateur. J'ai essayé d'exporter le dossier de l'émulateur, mais sans succès.
cd $Android_home/emulator and run emulator
, à la fin, j'écris Elias pour la commande dans le fichier .bashrc
alias emulator="$Android_HOME/emulator/emulator"
Tout d’abord, vérifiez le chemin que vous obtenez avec which emulator
et si vous obtenez /usr/local/share/Android-sdk/tools/emulator
, supprimez ou renommez cet émulateur (c’est un ancien) et utilisez plutôt /usr/local/share/Android-sdk/emulator/emulator
qui est le nouvel chemin .
Si vous utilisez Homebrew et que vous avez installé brew cask install Android-sdk Android-studio
, vous devez:
# Remove $HOME/Library/Android paths
# The new way is to use Android_SDK_ROOT
export Android_SDK_ROOT="/usr/local/share/Android-sdk"
# For good measure, add old paths to be backwards compatible with any scripts or
whatnot. And to hopefully decrease confusion:
export Android_HOME=$Android_SDK_ROOT
export Android_NDK_HOME=$Android_SDK_ROOT/ndk-bundle
Puis redémarrez votre terminal Shell et vérifiez que vos chemins sont conformes à vos attentes:
set | grep Android
Enfin, avec les chemins corrects définis, vous devez généralement installer le ndk et certains outils:
sdkmanager "ndk-bundle" "cmake;3.10.2.4988404" "lldb;3.1"
et vérifiez la liste pour d'autres morceaux comme ceci sdkmanager --list
J'ai également fermé Android Studio, supprimé l'ancien dossier Android/Sdk sous mon dossier $ HOME, puis redémarré Studio. Lorsqu'il a demandé où était mon Sdk, j'ai collé le chemin d'accès à Sdk: /usr/local/share/Android-sdk