Après avoir tapé cordova run android
dans le terminal, j'obtiens cette erreur:
Waiting for emulator to start...
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/Users/username/Library/Android/sdk]!
Cela se produit après l'exportation:
export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'
Avant d'exporter, j'ai:
Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
Des idées où je me trompe? Je suis sûr que c'est la racine SDK, alors pourquoi est-ce que je reçois un chemin système avd cassé?
1>PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT 1>Emulator Nexus_5X_API_23 cannot be started.
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/usr/local/share/android-sdk]!
lorsque je vérifie ce chemin->echo $ANDROID_SDK_ROOT /usr/local/share/android-sdk
. Ainsi, l'émulateur se bloque même si le chemin est correct.Réponses:
Il peut y avoir plusieurs problèmes différents lorsque vous déplacez votre AVD ou SDK vers un autre répertoire, ou remplacez un ancien SDK par un nouveau, ou d'une manière ou d'une autre, le SDK est corrompu.
Ci-dessous, je décrirai tous les problèmes possibles que je connais et vous donnerai plusieurs façons de les résoudre.
Structure du SDK incomplète / corrompue
Ces 2 erreurs se produisent si l'émulateur ne trouve pas le SDK ou si le SDK est cassé.
Donc, tout d'abord, je recommande de supprimer la
ANDROID_SDK_ROOT
variable. Il n'est nécessaire que lorsque l'émulateur est situé en dehors du répertoire SDK. Mais en général, votre émulateur reste dans le répertoire SDK. Et dans ce cas, il doit détecter automatiquement l' emplacement du SDK . Si ce n'est pas le cas, votre SDK a probablement une arborescence de fichiers incorrecte. Veuillez faire ce qui suit:Vérifiez que le répertoire SDK a au moins ces 4 répertoires:
emulator
,platforms
,platform-tools
,system-images
. Il est très important! Ces répertoires doivent être présents. Si certains d'entre eux n'existent pas, créez simplement des répertoires vides.Allez
<user_home>/.android/avd/<avd_name>
et ouvrezconfig.ini
. Trouvez laimage.sysdir.1
propriété. Il pointe vers le répertoire, à l'intérieur du répertoire SDK, qui contient l'image système réelle. Assurez - vous que ce répertoire existe et contient des fichiers commebuild.prop
,system.img
, etc. Si cela ne fonctionne pas, alors vous devez ouvrir le SDK directeur et télécharger des images du système de votre AVD a besoin (voir ci - dessous).Si tout est configuré correctement, lorsque ces erreurs
ANDROID_SDK_ROOT
doivent être supprimées. Si ce n'est pas le cas, vous pouvez maintenant essayer de configurer uneANDROID_SDK_ROOT
variable.Les packages requis et HAXM ne sont pas installés
Le problème suivant auquel vous pouvez être confronté est que l'émulateur commence à se lancer, mais raccroche ou se ferme immédiatement. Cela signifie probablement que vous n'avez pas installé tous les packages requis.
Une autre erreur possible est:
Donc, pour lancer avec succès un AVD, vous devez vous assurer qu'au moins ces packages sont installés:
Et comme je l'ai mentionné plus tôt, vous devez installer les images système que votre AVD utilise, par exemple
system-images;android-25;google_apis;x86
Je recommande également d'installer HAXM sur votre système manuellement.
Les fichiers Qcow2 font référence à des images de base incorrectes / inexistantes
Le dernier problème que je vais mentionner se produit lorsque vous essayez de déplacer AVD ou SDK d'un ordinateur ou d'un répertoire à un autre. Dans ce cas, vous pouvez obtenir une telle erreur:
Il existe 2 façons de résoudre ce problème:
Si vous ne vous souciez pas des données contenues dans l'AVD, supprimez simplement tous les
qcow2
fichiers du répertoire AVD (par exemple de<user_home>/.android/avd/<avd_name>
). Dans ce cas, vous obtiendrez une version propre d'Android, comme après une réinitialisation matérielle.Si les données sur l'émulateur sont importantes pour vous, ouvrez tous les
qcow2
fichiers un par un à l'aide de n'importe quel éditeur HEX (je préfère HxD ), trouvez le chemin d'unimg
fichier de base et changez-le en le bon dans leOverwrite
mode (pour conserver le taille du fichier). Sélectionnez ensuite le chemin et obtenez sa longueur en hexadécimal (par exemple2F
).2F
représente la barre oblique ASCII/
. Mettez-le en position13
:PS: Pas sûr, mais il existe probablement des utilitaires comme qemu-img permettant de définir une image de base différente. Eh bien, pour moi, il est plus facile d'éditer manuellement le binaire.
Maintenant, vous pourrez probablement lancer avec succès votre appareil virtuel Android. J'espere :)
la source
hw.cpu.arch
dans le config.initools/bin/sdkmanager "platform-tools"
. C'était tellement pénible de trouver ce qui n'allait pas à cause de ce stupide message d'erreur ("PANIQUE: Impossible de trouver le chemin du système AVD. Veuillez définir ANDROID_SDK_ROOT") qui n'indiquait pas clairement quel était le problème ...Sur Mac: j'avais installé en
android-sdk
utilisantbrew
ainsi qu'Android Studio. D'une manière ou d'une autre, avoir 2 installations causait ce problème. Lorsque j'ai désinstallé mon installation de brassage du sdk en utilisantbrew cask uninstall android-sdk
et ajouté les variables suivantes à mon env. Ça a marché.la source
android-sdk
lors de l'installation de NativeScript. L'émulateur se déclenche directement depuis Android Studio maintenant, mais pas via NativeScript (tns exécute Android)Cela résoudra votre problème sous macOS:
la source
Suppression de l'erreur lors de l'utilisation du SDK Android de Homebrew comme SDK par défaut
Comme @EFreak, j'ai installé le android-sdk avec homebrew (un gestionnaire de paquets pour Mac). J'avais besoin de faire ce qui suit pour corriger l'erreur, car je suivais les tutoriels nativescript et je suis tombé sur l'erreur. Si, comme moi, vous avez l'intention d'utiliser la version brew sur la version android-sdk, utilisez cette réponse (cela vous permettra d'utiliser l'
tns run android
api nativescripts ), et si vous voulez que le studio android android-sdk par défaut, suivez la réponse de @ EFreak.Configurer Android Studio pour utiliser les SDK Android de Homebrew
En gros, il vous suffit de changer l'emplacement de votre SDK Android dans le studio Android. Ouvrez d'abord un projet dans Android Studio. Ouvrez ensuite le SDK Manager en cliquant sur ce bouton.
Ensuite, lorsque les préférences par défaut du gestionnaire de SDK Android apparaissent, vous devez cliquer sur Modifier à côté de l'emplacement du SDK Android.
Recherche de l'emplacement du SDK Android de Homebrew
Ensuite, vous devez réellement mettre à jour l'emplacement du sdk sur l'écran de configuration des composants sdk mon
brew
android-sdk se trouvait ici/usr/local/share/android-sdk
. Vous pouvez trouver où le vôtre est installé en exécutantbrew cask info android-sdk
puis vers le bas de la sortie, il devrait dire:La valeur de la variable
export
edANDROID_SDK_ROOT
(qui est ici/usr/local/share/android-sdk
) est l'emplacement de home-brew du sdk android.Ensuite, vous devez cliquer sur le bouton Emplacement du SDK Android (étiqueté comme 1 dans l'image) et coller dans l'emplacement du SDK Android de Homebrew.
Ensuite, terminez simplement l'assistant en installant les packages. J'avais besoin de supprimer et de recréer mes émulateurs de périphérique à cette étape, mais cela semblait très bien fonctionner après cela.
Définition des variables d'environnement du SDK Android pour qu'elles pointent vers le SDK Android de Homebrew
Aussi, vous voudrez peut-être vous assurer que si vous empruntez la route Homebrew que votre script de paramètres de profil a les variables d'environnement
ANDROID_HOME
etANDROID_SDK_ROOT
définies sur votre emplacement Homebrew du sdk Android, sinon ce qui précède ne fonctionnera pas encore. Cela peut être modifié à partir de l'emplacement Homebrew si vous avez installé Homebrew avant d'installer Android Studio, comme indiqué dans cette réponse par @Jamie Armor . Vous pouvez vérifier que les variables d'environnement pour le SDK Android sont correctement définies en exécutantecho $ANDROID_HOME
etecho $ANDROID_SDK_ROOT
et en vérifiant qu'elles affichent toutes les deux l'emplacement Homebrew du SDK Android.Si vous devez modifier les valeurs ANDROID_HOME et ANDROID_SDK_ROOT, vous pouvez le faire dans les paramètres de votre profil sur votre Mac, ce qui serait probablement quelque chose comme
~/.bash_profile
"~ / .bashrc" ou "~ / .profile" et défini comme suit:Vous devez modifier les valeurs des deux exportations aux valeurs appropriées de l'emplacement du SDK Android de Homebrew, puis enregistrer le fichier. Pour vérifier que les bonnes valeurs ont été écrites, vous devez d'abord fermer et ouvrir votre terminal qui doit réexécuter le fichier et réinitialiser les variables d'environnement ou vous pouvez rechercher le fichier en exécutant
source <profile file name>
où se trouve le fichier de profil que vous avez modifié et enregistré. Vous pouvez ensuite réexécuterecho $ANDROID_HOME
etecho $ANDROID_SDK_ROOT
vérifier qu'ils ont l'emplacement du sdk Android Homebrew.la source
tns run android.
Cela fonctionnait pour moi avant d'exécuter ce script d'installation nativescript. Le script a cassé beaucoup de choses -_-Cela signifie que votre chemin vers les outils est incorrect. Voici à quoi cela ressemble sur un mac utilisant brew. Attention à la version.
Dans votre cas, il semble que vous devriez exécuter ceci:
la source
ANDROID_SDK_ROOT
installé.bash_profile
.echo $ANDROID_SDK_ROOT
Donne même le chemin correct:/usr/local/Cellar/android-sdk/24.4.1_1
j'utilise macOS avec HomeBrew.J'ai eu le même problème dans mon Windows10,
j'ai résolu mon problème en suivant les étapes ci-dessous.
ouvrir Android Studio
- Outils
- Gestionnaire de SDK
- copier l'emplacement du
SDK Android Emplacement du SDK Android
définir la variable d'environnement système
ANDROID_HOME et la variable d'environnement système ANDROID_SDK_ROOT
la source
J'ai eu le même problème après la mise à jour de l'émulateur. Le problème a été résolu après l'ajout de la variable ANDROID_AVD_HOME
Important: les caractères non ASCII ne peuvent pas être utilisés dans le chemin. Enfin, réinstallez les périphériques virtuels ou remplacez manuellement le chemin du périphérique dans le fichier Configuration settings.ini qui contient l'ancien chemin avec des caractères non-ascii.
la source
J'ai exécuté Android Studio sur Windows 10, défini ANDROID_HOME et ANDROID_SDK_ROOT sur les variables d'environnement, et j'ai toujours l'erreur.
Il s'avère que j'ai oublié de télécharger l'appareil.
Après avoir téléchargé "Image système manquante", tout fonctionne correctement.
la source
Dans mon cas, il était cassé car ANDROID_HOME et ANDROID_SDK_ROOT étaient différents, donc une fois que j'ai défini ANDROID_HOME comme étant le même que ANDROID_SDK_ROOT, cela a commencé à fonctionner.
la source
La réponse d'Oleg Cherrs m'a conduit à une solution. Comme il l'a mentionné
J'ai trouvé le fichier émulateur * .ini correspondant dans le répertoire avd. Là, j'ai modifié l'entrée "image.sysdir.1". J'ai remplacé le relatif par un chemin absolu (ajoutez ANDROID_SDK_ROOT devant). Après cela, l'émulateur a démarré à partir de la ligne de commande comme prévu.
la source
C:\Users\edkol\.android\avd
mais je ne vois aucun fichier config.ini - dois-je en ajouter un? si oui, où puis-je l'obtenir?Le répertoire Platfoms était manquant dans / usr / local / share / android-sdk .
J'ai créé un répertoire vide nommé plates-formes qui a résolu le problème.
la source
ok je peux exécuter Android depuis cordova, j'ai changé ANDROID_HOME en,
la source
Vous devez ajouter l'émulateur AVD. Allez à cet endroit:
démarrez AVD Manager et dans le second onglet (Device Definitions) cliquez sur le bouton "createAVD".
la source
Je suis sous Windows 10 et le problème était que le répertoire avd de mon ordinateur contenait des caractères non ASCII.
Voici ce qu'il faut faire:
Exécutez cmd en tant qu'administrateur
Exécutez la commande suivante:
(Cela créera un lien symbolique entre le chemin avec des caractères non ASCII et le nouveau)
Dans les variables d'environnement, ajoutez une
ANDROID_AVD_HOME
variable avec une valeurC:\\.android\avd
.la source
Je viens de rencontrer ce problème aujourd'hui et j'ai réussi à le résoudre.
Émulateur: [140735565005632]: ERREUR: android / android-emu / android / qt / qt_setup.cpp: 28: bibliothèque Qt introuvable dans / Users / your_user_name / Library / Android / sdk / emulator / lib64 / qt / lib
15:08 Emulator: impossible de lancer '/ Users / votre_nom_utilisateur / Library / Android / sdk / emulator / qemu / darwin-x86_64 / qemu-system-x86_64': aucun fichier ou répertoire de ce type
La solution était assez simple. Installez simplement l'émulateur Android via Android Studio => tools => Android => SDK manager => SDK tools => sélectionnez Android Emulator => Apply
J'utilise un MacBook Pro sur macOS High Sierra et je pense que votre machine n'a rien à voir avec ce problème. L'émulateur n'est évidemment pas installé lors de l'exécution du gestionnaire d'installation d'Android Studio pour la première fois, du moins pour moi, avec Android Studio 3.0.1
Assurez-vous également que vos chemins sont définis dans votre .bashrc ou .zshrc comme ceci:
la source
Vérifiez si l'image système utilisée par votre AVD a été téléchargée sous
$ANDROID_SDK_ROOT/system-images/
la source
J'ai eu le même problème qui, après avoir défini les variables de chemin suivantes, a disparu. Remarque Le chemin d'accès AVD Home est différent des trois autres.
la source
NativeScript
Pour toute personne ayant des difficultés à lancer l'émulateur Android via NativeScript, il est probable que les variables d'environnement ANDROID_HOME et ANDROID_SDK_ROOT ont été remplacées.
J'ai réussi à me créer un problème en installant Android Studio pour générer un émulateur différent. Je l'ai fait après avoir déjà installé le sdk android via home brew.
Donc, si lors de l'installation de NativeScript, vous avez choisi d'installer android sdk via HomeBrew, NativeScript définira ce qui précède comme suit:
L'installation ultérieure d'Android Studio remplacera ces valeurs comme suit:
Il y a donc naturellement un conflit avec le studio Android et l'installation NativeScript / Brew du sdk android. Supprimer l'un ou l'autre et / ou vérifier que la variable env contient le chemin correct devrait permettre à votre émulateur de se lancer.
la source
Après un certain temps à essayer d’autres «solutions» sur Google, la seule sur Google chose qui a fonctionné pour moi, après avoir défini la variable d'environnement ANDROID_SDK_ROOT sur Windows, et également ajouté et supprimé les variables ANDROID_HOME et ANDROID_SDK_HOME, a été la réponse de Xerox23 - éditer le config.ini de l'AVD en hardcode la valeur de ANDROID_SDK_ROOT dans la propriété image.sysdir.1.
Cela utilisait Android Studio 3.0.1 et l'émulateur 26.1.4, lançant l'appareil virtuel à partir du gestionnaire AVD à partir d'Android Studio.
la source
Pour la machine Windows: après avoir essayé beaucoup de chemin défini, supprimez le chemin, etc. Ce qui fonctionne finalement est de localiser le dossier
C:\Users\johndoe\.android
et de le supprimer. après cela, vous pouvez déjeuner votre Android Studio, il vous demandera de télécharger et d'installer un nouvel AVD et il remplacera et créera un nouveau dossier et de nouveaux fichiers. Cela résout le problème.la source
Pour résoudre ce problème, j'ai dû installer le package avec l'image système manquante en utilisant SDK Manager.exe (dans "C: \ Program Files (x86) \ Android \ android-sdk"). J'avais remarqué que l'image système dont j'avais besoin ("android-23") manquait dans "C: \ Program Files (x86) \ Android \ android-sdk \ system-images".
Après avoir exécuté SDK Manager.exe et installé les packages appropriés, j'ai pu exécuter l'émulateur dans Android Studio.
Voici la solution qui a fonctionné pour moi:
https://www.embarcadero.com/starthere/xe5/mobdevsetup/android/en/creating_an_android_emulator.html
la source
Suivez les étapes ci-dessous, cela devrait résoudre votre problème
1.
2.
3.
la source
J'ai résolu ce problème en supprimant le fichier
/usr/local/share/android-sdk
, car ce fichier a été créé lorsque j'ai essayé avec homebrew.c'est assez ....
la source
Ouvrez votre studio Android puis concentrez-vous sur la barre d'outils.
Aller aux outils> Gestionnaire de SDK puis
Apparence et comportement> Paramètres système> SDK Android
Maintenant, dans l'onglet, copiez l'emplacement du SDK Android à partir d'ici Emplacement du SDK Android
puis allez à vos variables d'environnement, puis définissez le chemin avec ces variables
Variables d'environnement
la source
la source
ANDROID_SDK_HOME est un pointeur vers la racine de votre fichier ".android", qui par défaut est créé dans "C: \ Users \ name \ .android", et NON vers la racine de votre dossier SDK. Ensuite: - Attribuer ANDROID_SDK_HOME au dossier racine du SDK ne fonctionnera pas. - Si le chemin de votre fichier ".android" contient des caractères non ASCII, cela ne fonctionnera pas. - Le dossier AVD doit être à l'intérieur de votre fichier ".android" actuel.
La réponse est donc la suivante:
À votre santé.
la source
中国 的 小 伙伴I ! 原因 是 avd 目录 不能 包含 中文 J'ai essayé toutes ces méthodes ci-dessus, et j'obtiens toujours l'erreur, et je me demande si c'est parce que mon répertoire avd contient du caractère chinois. donc je change le répertoire avd par défaut par les étapes suivantes, et cela a fonctionné. 1. créez un dossier dont le chemin ne contient pas de caractère non-ascii 2. copiez ou coupez le dossier avd par défaut
$HOME/.android
sous le dossier que vous venez de créer 3. ajoutez PATHADNDROID_SDK_HOME
, et le studio Android trouvera avd sous $ ADNDROID_SDK_HOME / .android / avdenfin ça a marché! :>
la source
Un correctif si votre utilisateur contient des caractères non ASCII
Pour les personnes qui obtiennent "
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT
", cela peut être dû au fait que votre utilisateur dans users contient des caractères non ASCII .Par conséquent, le dossier SDK et .android avec le dossier AVD doivent être déplacés vers un autre dossier.
Modification du chemin du SDK:
Ouvrez Android Studio , allez à configurer et choisissez le gestionnaire de SDK. Changez l'emplacement actuel du SDK Android par exemple "C: \ Android \ Sdk" (Ou ailleurs, mais pas dans le dossier utilisateur contenant des caractères non ASCII) .
Après cela, ajoutez les variables système suivantes:
Modification du chemin AVD:
Pour changer l'emplacement du dossier AVD (normalement placé entre "
C:\Users\<user name>\.android\avd
"), vous devez changer l'emplacement du dossier.android
. Fermez d'abord Android Studio , puis ajoutez la variable systèmeANDROID_SDK_HOME
avec le chemin vers le nouvel emplacement que vous voulez.android
être, par exempleC:\Android_SDK_HOME
comme utilisé dans un autre exemple:Après avoir ajouté cela, exécutez Android Studio . Puis fermez-le à nouveau. Maintenant, un dossier appelé
.android
aurait dû apparaître.La prochaine et dernière chose que vous devez faire est de définir la
ANDROID_AVD_HOME
variable système. Dans ce cas, ce sera dansC:\Android_SDK_HOME\.android\avd
J'espère que cela résout le problème pour certains. :)
la source
J'ai rencontré ce problème depuis que je fais React Native depuis le début. Google a désapprouvé les outils de ligne de commande et insiste sur le studio Android. La solution pour moi était de supprimer les outils de ligne de commande
rm -rf /usr/local/Cellar/android-sdk
rm /usr/local/bin/android
ouvrez AS install sdk v6 comme indiqué https://facebook.github.io/react-native/docs/getting-started.html#1-install-android-studio
faites un nouvel AVD et il se lancera sans erreur
la source
Les erreurs varient en fait. Il est utile d'exécuter l'
./emulator with -verbose
option, car elle affichera les erreurs réelles.la source