PANIQUE: chemin du système AVD cassé. Vérifiez votre valeur ANDROID_SDK_ROOT

151

Après avoir tapé cordova run androiddans 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é?

d.boyd
la source
Parvenez-vous à lancer l'émulateur avec AVD Manager? (Situé dans <AndroidSDK> \ AVD Manager.exe)
e666
4
Je suis également confronté à ce même problème sur Visual Studio lors de la création d'une application multiplateforme. Mon texte d'erreur est1>PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT 1>Emulator Nexus_5X_API_23 cannot be started.
RBT
Je viens d'ouvrir le gestionnaire de SDK Android et d'installer tout ce qui s'y trouvait (outils, divers niveaux d'API, extras). Au sens propre! Cela a résolu mon problème. Cependant, j'ai rencontré d'autres problèmes après ceux liés à la technologie HAXM d'Intel requise pour exécuter des émulateurs Android. Ils doivent être résolus différemment.
RBT
1
Possible duplication de Impossible d'exécuter l'émulateur dans Android Studio
coelhudo
2
Je peux lancer l'avd via le studio Android. J'obtiens cette erreur lors d'une tentative de lancement à partir de la ligne de commande. Il y a une erreur 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.
Mike S.

Réponses:

163

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.

Bien sûr, je suppose que vous avez créé un AVD et qu'il se trouve dans C:\Users\<user_name>\.android\avd(Windows) ou ~/.android/avd(Linux / MacOS).

Si vous avez déménagé .androidà un autre endroit, définissez la ANDROID_SDK_HOMEvariable d'environnement sur le chemin du répertoire parent contenant votre .androidet assurez-vous que AVD Manager a réussi à trouver votre périphérique virtuel.

Vérifiez également les chemins dans <user_home>/.android/avd/<avd_name>.ini


Structure du SDK incomplète / corrompue

PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value

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_ROOTvariable. 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:

  1. 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.

  2. Allez <user_home>/.android/avd/<avd_name>et ouvrez config.ini. Trouvez la image.sysdir.1proprié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 comme build.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_ROOTdoivent être supprimées. Si ce n'est pas le cas, vous pouvez maintenant essayer de configurer une ANDROID_SDK_ROOTvariable.


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:

Impossible de détecter automatiquement un binaire ADB. Certaines fonctionnalités d'émulateur ne fonctionneront pas tant qu'un chemin personnalisé vers ADB n'est pas ajouté dans la page des paramètres étendus.

Donc, pour lancer avec succès un AVD, vous devez vous assurer qu'au moins ces packages sont installés:

emulator (Android Emulator)
platform-tools (Android SDK Platform-Tools)
tools (Android SDK Tools)

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

Notez que les versions les plus récentes du SDK n'ont pas de version autonome SDK Manager.exe. Au lieu de cela, vous devez soit utiliser Android Studio, soit tools\bin\sdkmanager.bat(Linux / MacOS ont probablement des shfichiers).

Pour lister tous les packages disponibles, utilisez sdkmanager --listousdkmanager --list --verbose

Pour installer des packages, utilisez sdkmanager <package1> <package2> ...

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:

qemu-system-i386.exe: -drive si = aucun, chevauchement-contrôle = aucun, cache = unsafe, index = 0, id = système, fichier = C:\Users\<old_user_name>\.android\avd\<avd_name>.

avd \ system.img.qcow2, lecture seule: impossible d'ouvrir le fichier de sauvegarde: impossible d'ouvrir ' <old_sdk_dir>\system-images\android-22\google_apis\x86\system.img': argument non valide

Il existe 2 façons de résoudre ce problème:

  1. Si vous ne vous souciez pas des données contenues dans l'AVD, supprimez simplement tous les qcow2fichiers 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.

  2. Si les données sur l'émulateur sont importantes pour vous, ouvrez tous les qcow2fichiers un par un à l'aide de n'importe quel éditeur HEX (je préfère HxD ), trouvez le chemin d'un imgfichier de base et changez-le en le bon dans le Overwritemode (pour conserver le taille du fichier). Sélectionnez ensuite le chemin et obtenez sa longueur en hexadécimal (par exemple 2F). 2Freprésente la barre oblique ASCII /. Mettez-le en position 13:

Modifier les fichiers Android qcow2 à l'aide de l'éditeur HxD HEX

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 :)

Oleg Cherr
la source
Une autre raison peut manquer hw.cpu.archdans le config.ini
daserge
2
J'ai suivi toutes les instructions et j'ai toujours le chemin du système AVD cassé.
lance
Impressionnant. Bravo avec les fichiers de base qcow! Connaissez-vous un moyen plus générique de rebaser les fichiers qcow? Je souhaite partager mon AVD avec plusieurs personnes ...
Amit Moran
@daserge al mes fichiers '.ini' ont un format étrange (ils manquent de sauts de ligne après chaque paramètre), est-ce normal / correct?
J3STER
1
Merci, le dossier platform-tools manquait dans mon cas, je l'ai donc installé avec la commande tools/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 ...
baptx
129

Sur Mac: j'avais installé en android-sdkutilisant brewainsi 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 utilisant brew cask uninstall android-sdket ajouté les variables suivantes à mon env. Ça a marché.

export ANDROID_HOME=/Users/<Username>/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
EFreak
la source
18
J'avais précédemment installé le sdk android en utilisant brew en suivant un tutoriel Nativescript. Après avoir installé Android Studio, j'ai trouvé que l'émulateur ne se lancerait pas. Votre correctif a résolu mon problème. Je vous remercie!
Cocoanut
2
Cela a fonctionné pour moi aussi. J'avais également installé android-sdklors de l'installation de NativeScript. L'émulateur se déclenche directement depuis Android Studio maintenant, mais pas via NativeScript (tns exécute Android)
Mudlabs
3
Cela a résolu mon problème, mais sans supprimer la version android-sdk de brew.
mrisek le
1
les outils de ligne de commande sont obsolètes. La meilleure chose à faire à l'avenir est d'installer AS correctement et d'éviter le fût de bière facebook.github.io/react-native/docs/…
Harry Moreno
1
Après de nombreuses recherches, cela a finalement résolu notre problème. Merci beaucoup!!!
user3575337
27

Cela résoudra votre problème sous macOS:

pico ~/.bash_profile

export ANDROID_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_SDK_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_AVD_HOME=/Users/$USER/.android/avd
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_AVD_HOME

source ~/.bash_profile
cuasijoe
la source
4
Après beaucoup de choses essayées, c'était le seul travail, merci beaucoup: D
Alan Cordova
Fonctionne parfaitement Merci.
Herman Demsong
@SundayOkoi il va dans votre répertoire personnel
1800 INFORMATIONS
Pareil pour moi. Celui-ci fonctionne pour moi. Bien que j'aie apporté des modifications mineures à celui-ci.
Edper
15

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 androidapi 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.

emplacement du bouton du gestionnaire android sdk

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.

entrez la description de l'image ici

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 brewandroid-sdk se trouvait ici /usr/local/share/android-sdk. Vous pouvez trouver où le vôtre est installé en exécutant brew cask info android-sdkpuis vers le bas de la sortie, il devrait dire:

You can control android sdk packages via the sdkmanager command.
You may want to add to your profile:

  'export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"'

La valeur de la variable exported ANDROID_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.

entrez la description de l'image ici

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_HOMEet ANDROID_SDK_ROOTdé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écutant echo $ANDROID_HOMEet echo $ANDROID_SDK_ROOTet 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:

export ANDROID_HOME="/usr/local/share/android-sdk"
export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"

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écuter echo $ANDROID_HOMEet echo $ANDROID_SDK_ROOTvérifier qu'ils ont l'emplacement du sdk Android Homebrew.

John
la source
3
Vous héros! La documentation NativeScript néglige complètement de mentionner cet aspect.
Jamie Birch
Je ne pense pas que vous ayez besoin de l'installation de brassage pour pouvoir exécuter. tns run android.Cela fonctionnait pour moi avant d'exécuter ce script d'installation nativescript. Le script a cassé beaucoup de choses -_-
Felipe Centeno
1
@FelipeCenteno ouais vous n'avez pas besoin de bière pour faire ça. C'est juste comment vous faites si vous avez déjà installé tous les sdk android avec brew. Vous pouvez utiliser la réponse EFreaks si vous utilisez simplement le SDK par défaut du studio Android.
John le
14

Cela signifie que votre chemin vers les outils est incorrect. Voici à quoi cela ressemble sur un mac utilisant brew. Attention à la version.

export ANDROID_SDK_ROOT='/usr/local/Cellar/android-sdk/24.4.1_1'

Dans votre cas, il semble que vous devriez exécuter ceci:

export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'
TechnoTim
la source
3
L'erreur est toujours la même. De plus, j'ai vérifié deux fois et je suis ANDROID_SDK_ROOTinstallé .bash_profile. echo $ANDROID_SDK_ROOTDonne même le chemin correct: /usr/local/Cellar/android-sdk/24.4.1_1 j'utilise macOS avec HomeBrew.
Shivam Maheshwari
12

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

psaren
la source
J'ai le même problème. Merci.
Jason Ching
J'étais confronté au même problème et résolu avec ces instructions.
SuKu
8

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 entrez la description de l'image ici

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.

C:\Users\<user_name>\.android\avd\<avd_name>
m3los
la source
Oui, les caractères non ASCII, c'est important. Après avoir supprimé ces caractères, tout fonctionne correctement. Comment supprimer superuser.com/questions/1355431/…
Alex Z
8

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.

entrez la description de l'image ici

entrez la description de l'image ici

Après avoir téléchargé "Image système manquante", tout fonctionne correctement.

Weihui Guo
la source
2
mon Dieu. J'ai défini tellement de variables d'environnement qui n'avaient pas besoin d'être définies. tout ce que j'avais à faire était de télécharger quelque chose. Merci.
Andy le
7

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.

jc12
la source
1
Oui merci, cela fonctionne pour moi, et comme @Blagojce l'a dit, j'ai ajouté que C: \ Users \% username% \ AppData \ Local \ Android \ sdk \ dans les deux variables ANDROID_HOME et ANDROID_SDK_ROOT
Abdelhadi Abdo
Cela m'a aussi corrigé. Très probablement, j'ai installé un SDK Android avant d'installer Visual Studio / Xamarin.
thowa
6

La réponse d'Oleg Cherrs m'a conduit à une solution. Comme il l'a mentionné

Accédez à /.android/avd/ et ouvrez config.ini. Recherchez la propriété> image.sysdir.1. Il pointe vers le répertoire à l'intérieur du SDK contenant les images système. Assurez-vous que ce répertoire existe et contient des fichiers tels que build.prop,> system.img, etc. Si ce n'est pas le cas, vous devez ouvrir le SDK Manager et> télécharger les images système dont votre AVD a besoin (voir ci-dessous).

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.

Xerox23
la source
A fonctionné pour moi aussi, seule solution qui fonctionne sous WIN10 x64 avec toutes les variables PATH correctement définies. (FYI: j'ai ajouté le chemin absolu de ANDROID_SDK_ROOT au lieu de la variable elle-même)
Max Methot
Je suis allé sur C:\Users\edkol\.android\avdmais je ne vois aucun fichier config.ini - dois-je en ajouter un? si oui, où puis-je l'obtenir?
ekolis
6
  • 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.

Olivier Maina
la source
5

ok je peux exécuter Android depuis cordova, j'ai changé ANDROID_HOME en,

export ANDROID_HOME=/usr/local/opt/android-sdk
d.boyd
la source
5

Vous devez ajouter l'émulateur AVD. Allez à cet endroit:

C:\Users\%username%\AppData\Local\Android\sdk\

démarrez AVD Manager et dans le second onglet (Device Definitions) cliquez sur le bouton "createAVD".

Blagojce
la source
4

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:

mklink /D C:\\.android C:\\Users\\-yourUsername-\\.android

(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_HOMEvariable avec une valeur C:\\.android\avd.

Teo Papavasilleiou
la source
3

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:

export ANDROID_HOME=/Users/your_user_name/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
N'est pas défini
la source
2

Vérifiez si l'image système utilisée par votre AVD a été téléchargée sous $ANDROID_SDK_ROOT/system-images/

aleung
la source
2

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.

entrez la description de l'image ici

Hitesh Sahu
la source
2

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:

ANDROID_HOME=/usr/local/share/android-sdk
ANDROID_SDK_ROOT=/usr/local/share/android-sdk

L'installation ultérieure d'Android Studio remplacera ces valeurs comme suit:

ANDROID_HOME=/Users/[User]/Library/Android/sdk
ANDROID_SDK_ROOT=/Users/[User]/Library/Android/sdk

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.

Armure Jamie
la source
1

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.

AndrWeisR
la source
1

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.

Delino
la source
Salut, bon conseil. Nous devons tous le faire avec des installations plus anciennes. Après avoir suivi et échoué avec d'autres recettes, votre réponse fait l'affaire. Merci!
lm2a
1

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

Glauber
la source
1

Suivez les étapes ci-dessous, cela devrait résoudre votre problème

1.

export ANDROID_HOME=/usr/local/Cellar/android-sdk/24.4.1
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/bin

2.

Go to android studio preferences => Build, Execution, Deployment => Build Tools => Gradle => Android studio  => Enable embedded Maven Repository should be selected.

3.

Go to android studio preferences => Appearance & Behavior => System Settings => Android SDK => Go to SDK Tools and select Android Emulator
Gampesh
la source
1

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.

export ANDROID_HOME=/Users/<username>/Library/Android/sdk

export ANDROID_SDK_ROOT=/Users/<username>/Library/Android/sdk

export ANDROID_AVD_HOME=/Users/<username>/.android/avd

c'est assez ....

Md. Jahir Alam Raju
la source
1

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

  1. ANDROID_HOME
  2. ANDROID_SDK_ROOT

Variables d'environnement

Ahmer Shahid
la source
1
  1. Supprimez les appareils créés au début.
  2. Fermez le studio Android.
  3. Ouvrir: Panneau de configuration -> Système et sécurité -> Système -> Paramètres système avancés -> Variables d'environnement.
  4. Créez une nouvelle variable "ANDROID_SDK_HOME" et définissez un nouveau chemin (dans mon cas, c'était F: \ Coding2019 \ Android \ AVDdevices). Appuyez sur «ok».
  5. Ouvrez Android Studio.
  6. Créez un nouvel appareil. Après avoir créé dans le menu déroulant, cliquez sur "Afficher les détails" pour voir le nouveau chemin du nouvel AVD.
Oleksii Khoroshun
la source
1

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:

  • Modifiez votre dossier SDK, si vous en avez besoin, comme les réponses précédentes (dans le projet sur Android Studio).
  • Fermez Android Studio.
  • Panneau de configuration> Système> Paramètres système avancés> Variables d'environnement.
  • Ajoutez une nouvelle variable utilisateur: Nom de la variable: ANDROID_SDK_HOME Valeur de la variable: C: \ src (ou tout dossier qui n'a pas de problèmes avec les caractères non-ASCII ou les privilèges SO) LE CHEMIN QUE VOUS ENTREREZ NE PEUT PAS ÊTRE LE DOSSIER ROOT DE VOTRE SDK ANDROID !! !
  • Ouvrez Android Studio. Assurez-vous qu'un dossier appelé ".android" a été créé à votre nouvel emplacement.
  • Supprimez le périphérique virtuel Android (AVD) que vous avez créé.
  • Fermez et ouvrez Android Studio.
  • Créez un nouvel AVD et voyez la magie opérer.

À votre santé.

André Lopes
la source
1

中国 的 小 伙伴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/.androidsous le dossier que vous venez de créer 3. ajoutez PATH ADNDROID_SDK_HOME, et le studio Android trouvera avd sous $ ADNDROID_SDK_HOME / .android / avd

enfin ça a marché! :>

叶局长
la source
1

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:

ANDROID_SDK_ROOT C:\Android\Sdk
ANDROID_HOME C:\Android\Sdk

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ème ANDROID_SDK_HOMEavec le chemin vers le nouvel emplacement que vous voulez .androidêtre, par exemple C:\Android_SDK_HOMEcomme utilisé dans un autre exemple:

ANDROID_SDK_HOME C:\Android_SDK_HOME

Après avoir ajouté cela, exécutez Android Studio . Puis fermez-le à nouveau. Maintenant, un dossier appelé .androidaurait dû apparaître.

La prochaine et dernière chose que vous devez faire est de définir la ANDROID_AVD_HOMEvariable système. Dans ce cas, ce sera dansC:\Android_SDK_HOME\.android\avd

ANDROID_AVD_HOME C:\Android_SDK_HOME\.android\avd

J'espère que cela résout le problème pour certains. :)

Pritzier
la source
Bro merci beaucoup. J'étais juste en train de googler ce problème et suis venu sur votre nouveau message et cela a fonctionné!
JangoCG
0

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

Harry Moreno
la source
0

Les erreurs varient en fait. Il est utile d'exécuter l' ./emulator with -verboseoption, car elle affichera les erreurs réelles.

Deathemperor
la source