Emplacement du SDK introuvable. Définissez l'emplacement avec sdk.dir dans le fichier local.properties ou avec une variable d'environnement ANDROID_HOME

271

J'ai récemment essayé d'importer des exemples de jeux Android téléchargés à partir du site Web des développeurs de Google. Après les avoir importés dans Android Studio, j'obtiens l'erreur suivante:

Erreur: emplacement du SDK introuvable. Définissez l'emplacement avec sdk.dirdans le fichier local.properties ou avec une ANDROID_HOMEvariable d'environnement.

Qu'est-ce que c'est? Je souhaite exécuter les exemples de programmes à partir d'Android Studio.

Sameer Shamsudeen
la source

Réponses:

246

Il manque peut-être un settings.gradlefichier au projet. Assurez-vous que le fichier existe dans le projet que vous importez. Sinon, ajoutez le settings.gradlefichier avec les éléments suivants:

include ':app'

Enregistrez le fichier et placez-le dans le dossier de niveau supérieur de votre projet.

Joseph
la source
16
Comment savoir si mon projet manque settings.gradle? Où ce fichier est-il généralement stocké? Où dois-je taper include ':app'? Que fait include ':app'/ génère exactement ? Pouvez-vous ajouter plus de détails à votre réponse?
Tot Zam
1
@TotZam est stocké à la racine de votre projet
Joseph
2
Je l'ai trouvé. Merci. Pour référence future, où irais-je include ':app'? Je suis assez nouveau sur Android et j'essaie de trouver mon chemin.
Tot Zam
2
Vous n'exécutez pas include :app, si vous utilisez Android Studio, qui permet à Android Studio d'ajouter votre module de projet afin que vous puissiez l'exécuter sans configuration supplémentaire. Après avoir ajouté la ligne, settings.gradlevous remarquerez que le Playbouton devient actif une fois que Gradle a fini de construire et de télécharger des packages
Joseph
1
Mettez le nom de votre dossier de projet au lieu de «app» s'il est différent. Ça marche.
Priyank Patel
246

Veuillez suivre les étapes ci-dessous, cela fonctionne pour moi:

  • Accédez à votre projet natif réactif, puis accédez au répertoire Android Créez un fichier avec le nom suivant:

local.properties

  • Ouvrez le fichier et collez votre chemin SDK Android comme ci-dessous:

Pour les utilisateurs de Windows:

sdk.dir=C:\\Users\\UserName\\AppData\\Local\\Android\\sdk

Remplacez UserName par le nom d'utilisateur de votre PC. Assurez-vous également que le dossier est sdk ou Sdk. Dans mon cas, le nom d'utilisateur de mon ordinateur est Zahid donc le chemin ressemble à:

sdk.dir=C:\\Users\\Zahid\\AppData\\Local\\Android\\sdk

Pour les utilisateurs Mac:

sdk.dir = /Users/USERNAME/Library/Android/sdk

Où USERNAME est votre nom d'utilisateur OSX .

Pour les utilisateurs de Linux (Ubuntu):

sdk.dir = /home/USERNAME/Android/Sdk

Où USERNAME est votre nom d'utilisateur Linux (les chemins Linux sont sensibles à la casse: assurez-vous que la casse de Sin Sdkcorrespond)

Si cela ne fonctionne pas, ajoutez la variable ANDROID_HOME dans "Variables d'environnement" comme C:\Users\USER\AppData\Local\Android\Sdk

entrez la description de l'image ici

Hoque MD Zahidul
la source
je travaille avec open cv que dois-je faire pour ajouter NDK?
Innocent
Ça m'a aidé. En fait, cette solution est suggérée dans le libellé d'erreur lui-même. J'utilise IntelliJ sur Mac et dans la structure du projet, j'ai le chemin correct du SDK. Pourquoi ai-je encore besoin de cela dans local.properties alors?
Alexei Martianov
158

Je sais que cette réponse est en retard, mais j'espère que cela aide les autres.

La réponse est simple. Il vous suffit de copier votre local.propertiesfichier dans le dossier où le projet est stocké et cela fonctionnera comme un charme. Mais rappelez-vous, il doit être placé dans le dossier racine où le projet est stocké.

Harsh Mittal
la source
3
Mais je dois le copier à chaque fois? Cela semble être un hack que l'approche correcte
pblead26
C'est la solution la plus simple à ce problème car vous n'avez rien à changer dans le projet. Il existe également une autre solution dans laquelle vous devez modifier le code, mais je pense que pour une telle question, on ne peut pas se permettre de perdre beaucoup de temps.
Harsh Mittal du
Cela a fonctionné pour moi lorsque j'ai eu ce problème après avoir téléchargé ExoPlayer 2.1.
user1147171
2
Cela fonctionne, mais Intelij ne devrait-il pas générer cela automatiquement? tks!
cesarsicas
4
Cela ne fonctionne pas pour moi. Le fichier est présent, mais j'ai encore l'erreur
rommex
42

Ce problème se produit lorsque vous essayez d'importer un projet Android Studio à partir du fichier ../app/build.gradle .

Importez le projet en sélectionnant le fichier ../build.gradle situé dans le répertoire racine de votre projet.

Michael Saffold
la source
39

Veuillez suivre les points ci-dessous, cela fonctionne pour moi:

  1. Allez à votre Project -> Android
  2. Créer un fichier local.properties
  3. Ouvrez le dossier
  4. Collez votre chemin SDK Android en fonction du système d'exploitation:

    4.a Windows

    sdk.dir = C:/Users/USERNAME/AppData/Local/Android/sdk

    4.b Linux ou MacOS

    sdk.dir = /home/USERNAME/Android/sdk

    Remplacez USERNAMEpar votre nom d'utilisateur

Anjali-Systematix
la source
Il est trop tard pour commenter, mais je veux savoir comment faire cela sous MacOS?
Nauman Moazzam
dans MacOS, vous devez faire la même procédure, il vous suffit de trouver le chemin d'accès à votre fichier SDK Android et de le coller fichier local.properties ... c'est tout
Shuvo
37

Vérifiez dans votre fichier local.properties

sdk.dir=C\:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk

écrire correctement ce format, et également vérifier / slas en utilisant pour le chemin

Qutbuddin Bohra
la source
J'ai modifié local.properties avec ce sdk.dir = C: \\ Users \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk, toute erreur dans ce
Sameer Shamsudeen
ouais après C mettre \ ... Svae avec thishope fait. sdk.dir = C \: \\ Users \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk
Qutbuddin Bohra
Cela fonctionne bien avec eclipse. Créez simplement le fichier local.properties dans le projet téléchargé et collez le sdk.dir. Dans mon cas, c'était: "sdk.dir = C \: \\ adt-bundle-windows-x86_64-20140321 \\ sdk"
George Papatheodorou
si quelqu'un face à vous n'a pas accepté les accords de licence ... erreur après l'étape ci-dessus voir ici stackoverflow.com/a/41078173/1778834
yashhy
J'ai installé Android sur mes fenêtres 10 m / c mais il n'y a pas de dossier de ce type sdk.dir = C \: \\ Users \\ USERNAME \\ AppData \\ Local \\ Android?
Gala Rohan
27

Voici une solution pour le problème lorsque vous cliquez sur "Exécuter l'application" (flèche verte) et obtenez ce qui suit dans la boîte de dialogue Modifier la configuration :

Erreur: veuillez sélectionner le SDK Android

Dans Android Studio, procédez comme suit:

  1. Dans le menu, choisissez File > Settings.
  2. Dans la boîte de dialogue des paramètres, accédez à Appearance & Behavior > System Settings > Android SDK.
  3. Regardez en haut pour l' emplacement du SDK Android et cliquez sur le Editbouton
  4. Cliquez sur Suivant, Suivant, Terminer pour accepter les valeurs par défaut

Cela semble enregistrer l'emplacement du SDK - même si rien n'a changé - dans un emplacement interne. J'ai inspecté les dossiers .ideaet .gradlemais je n'ai pas vu ce que Studio a fait pour modifier un fichier de configuration - mais maintenant je peux exécuter l'application.

Et pour résumer les correctifs précédents - ceux-ci sont normalement OK pour un dépôt sans problèmes de construction:

  • Le fichier local.properties est copié dans le dossier racine par Studio.

  • Le chemin dans le fichier local.properties a le bon chemin vers le SDK Android - dans mon cas, c'est le cas sdk.dir=C:\\android\\sdk (notez que ce chemin a un format différent - Studio doit écrire ce fichier pour vous en fonction du champ de saisie de texte dans les paramètres du SDK Android. dialogue)

  • Le fichier settings.gradle est présent dans le référentiel - et fait référence au dossier de l'application (généralement: app)

Jim Andreas
la source
3
C'est la seule chose qui m'a aidé. Les étapes 3 et 4 sont très importantes
soshial
16

Si vous rencontrez ce problème lorsque vous extrayez un projet natif réactif, il vous suffit d'ouvrir le projet Android avec Android Studio. Tout ce dont vous avez besoin sera automatiquement créé.

  • Ouvrez Android Studio
  • Fichier -> Ouvrir
  • Choisissez le androiddossier sous votre dossier de projet natif réactif
  • Attendez qu'AndroidStudio termine la configuration
  • Vous pouvez maintenant fermer Android Studio

OU

Si vous avez installé le lanceur de ligne de commande AndroidStudio :

  • Exécutez cela dans votre dossier racine réactif natif
studio android/
  • Attendez qu'AndroidStudio termine la configuration
  • Vous pouvez maintenant fermer Android Studio
gianlucaparadise
la source
1
Ça marche pour moi
Vikram Rajput
12

Sous Linux:

Si vous avez déjà téléchargé le SDK Android mais qu'il n'est pas trouvé.

Le problème peut être que le fichier local.propertiesdoit se trouver dans le même répertoire que gradlestuff pour gradlele trouver lors de la construction et de l'exécution d'adb.

Pour mon projet natif réactif utilisant, gradlej'avais besoin de mettre le local.propertiesfichier dans un Myprojectname/android/dossier.

Comme j'avais décompressé le SDK en téléchargements, j'utilise simplement ce chemin dans le fichier avec une ligne comme celle-ci:

sdk.dir=/home/USER/Downloads/android-sdk-linux
Mika
la source
11

J'ai résolu ce problème en créant la variable d'environnement ANDROID_HOME comme suit dans Windows.

ANDROID_HOME=C:\Users\<user_name>\AppData\Local\Android\sdk

Redémarrez Android Studio, il devrait construire un projet!

mumair
la source
J'avais déjà un ANDROID_SDK qui pointe vers le même dir, donc pour moi c'étaitANDROID_HOME=$ANDROID_SDK
Martijn
10

Je suis tombé sur le même problème mais un message d'erreur un peu différent est

Emplacement du SDK introuvable. Définissez l'emplacement avec une variable d'environnement ANDROID_SDK_ROOT ou en définissant le chemin sdk.dir dans le fichier de propriétés locales de votre projet sur "xxx"

MAC & ReactNative

Ajouter local.properties

  1. Trouvez votre emplacement SDK Android

    /Users/yourMacUserName/Library/Android/sdk
  2. Créez local.propertiessous rootProject/android/local.properties.

  3. Ajoutez-y le chemin sdk

    sdk.dir = /Users/yourMacUserName/Library/Android/sdk

Cela fonctionne normalement, mais si vous travaillez en équipe avec d'autres membres de l'équipe, alors yourMacUserNamec'est différent.

OU

Définir la ANDROID_SDK_ROOTvariable

  1. Modifiez votre ~/.zshrcou ~/.bashrcou ...
  2. Ajouter un chemin SDK:

    export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
  3. Ouvrez un nouvel onglet de terminal ou source ~/.zshrc
  4. echo $ANDROID_SDK_ROOT pour tester le chemin SDK d'impression correct.

Alternativement, vous pouvez également ajouter votre chemin pour utiliser certaines commandes utiles.export PATH=${PATH}:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools

William Hu
la source
9

Si vous essayez d'exécuter l'exemple de code Google Android, essayez d' importer l'intégralité du référentiel au lieu d'un échantillon individuel .

Voici la section pertinente de instructions.html , incluse avec l' exemple de code de l'API Google Agenda

  • Importer un projet d'agenda-android-sample
    • Sélectionnez "Importer un projet ..." ou Fichier> Importer un projet ...
    • Sélectionnez [someDirectory] /google-api-java-client-samples/build.gradle et cliquez sur OK.
      • Remarque: cela ne fonctionnera pas si vous essayez d'importer [someDirectory] /google-api-java-client-samples/calendar-android-sample/build.gradle
    • Sélectionnez «Utiliser la distribution locale des grades» avec «Accueil Gradle» de [someDirectory] /gradle-2.2.1 et cliquez sur OK.
Nate
la source
6

Il n'y a pas une seule raison à cette erreur.

  1. settings.gradle peut être manquant ou le contenu peut être incorrect.
  2. local.properties peut être manquant ou le chemin sdk peut être mal écrit.
Arhat Baid
la source
1
quel type de contenu doit figurer dans le fichier settings.gradle?
cabanni
@cabanni settings.gradle inclut simplement le module dans votre application. Par défaut, ce sera le module «app». J'espère que cela aide /
Arhat Baid
5

Supprimez simplement le dossier .idea et réimportez le projet. Ça a marché pour moi.

Akshay Sharma
la source
4

créez un fichier local.properties dans votre répertoire racine de votre projet avec le contenu suivant

## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Tue Oct 24 17:40:53 CEST 2017

sdk.dir=/Users/****/Library/Android/sdk
Ilker Baltaci
la source
4
  1. Accédez à votre projet natif React -> Android
  2. Créez un fichier local.properties

  3. Ouvrez le dossier

  4. collez votre chemin SDK Android comme ci-dessous

     in Windows sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
    
     in macOS sdk.dir = /Users/USERNAME/Library/Android/sdk
    
     in linux sdk.dir = /home/USERNAME/Android/Sdk
  5. Remplacez USERNAME par votre nom d'utilisateur

  6. Maintenant, exécutez le run-android réactif natif dans votre terminal

ou

Parfois, il manque un fichier settings.gradle au projet. Assurez-vous que le fichier existe dans le projet que vous importez. Sinon, ajoutez le fichier settings.gradle avec les éléments suivants:

    include ':app'

Enregistrez le fichier et placez-le dans le dossier de niveau supérieur de votre projet.

Dinush Chathurya
la source
3

mettez ces deux lignes dans votre fichier .bashrc et exécutez source ~/.bashrc

export ANDROID_HOME=/Users/$USER/Library/Android/sdk export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Pour Linux, je l'ai fait. (Pour la première ligne)

export ANDROID_HOME=/home/$USER/Android/Sdk
Tzvetlin Velev
la source
2

le meilleur et le plus simple est de créer un nouveau dossier "application" de déplacement de projet Android à partir du projet non fonctionnel vers celui nouvellement créé et d'ajouter les dépendances nécessaires dans le gradle de votre nouveau projet et tout fonctionnera parfaitement)

Armen Hovhannisian
la source
Cela a corrigé le problème sur le mac High Serria et Windows 10. Excellente réponse et efficace.
Val
2

Si tout le reste échoue, copiez le local.propertiesfichier à la racine du répertoire du projet. Simplement.

tim4dev
la source
2

Pour les utilisateurs Mac / Linux

Vous devez ajouter ANDROID_HOMEà votre chemin, ajouter ce qui suit à votre .bashrc || .zshrc || .profilefichier

# change $HOME to the path where you installed android Sdk
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools

Exécutez ensuite

$ source ~/.bashrc || .zshrc || .profile

Variables d'environnement dans bash_profile ou bashrc?

Différence entre .bashrc et .bash_profile

Junius L.
la source
2

Cette solution fonctionne réellement pour moi .. allez sur ce pc -> propriétés -> paramètres système avancés -> variables d'environnement -> puis dans la variable système créez une nouvelle variable avec le nom ANDROID_SDK_ROOT et la valeur C: \ Users {USERNAME (remplacez-la par votre nom d'utilisateur) } \ AppData \ Local \ Android \ Sdk

et assurez-vous que si le vrai mobile Android utilisant le débogage USB est activé. (très important)

puis fermez cmd et redémarrez cela devrait fonctionner.

Hrishikesh Baidya
la source
2

Dans mon cas, j'ai dû fermer Project et l'ouvrir à nouveau. Cela a bien fonctionné. Comme ça

Fermer le projet

entrez la description de l'image ici

Et encore une fois Open Project Again

entrez la description de l'image ici

Muhaiminur Rahman
la source
Après avoir ajouté le chemin sdk.dir et également à ~ / .bashrc, rien n'a fonctionné. Mais ensuite j'ai fermé et rouvert et cela a fonctionné. Merci!
grc
1

J'ai eu cette erreur après avoir cloné un référentiel. Je m'attendais à ce que local.properties soit généré automatiquement, mais ce n'était pas le cas. J'ai pu le générer en réimportant le projet Gradle.

File > Re-import Gradle Project
M. Palsich
la source
Cela a aidé. Après le lancement du "Projet de réimportation Gradle", les 2 erreurs suivantes ont été imprimées sur la console, ce qui m'a aidé à détecter le problème: Configuration JDK Gradle non valide trouvée , le projet JDK n'est pas spécifié . Tout a donc commencé à fonctionner après avoir corrigé le chemin JDK dans les paramètres.
Michal Vician
Une fois le chemin JDK corrigé, j'ai également dû redémarrer l'EDI avec l'option "Fichier> Invalider les caches / redémarrer ...".
Michal Vician
1

Quiconque utilise Jenkins, pourrait être utile

Vous devez définir un nom de variable globale ANDROID_HOMEavec la valeur du chemin d'accès à Android SDK.

Pour mac, c'est /Users/YOUR_USER_NAME/Library/Android/sdk

touhid udoy
la source
1

je pensais que votre fichier setting.gradle est manquant. Copiez ce fichier dans un autre projet et collez votre projet. Cela fonctionnera je pense.

dans le fichier setting.gradle,

include ':app'

c'est tout. Bonne journée.

ozanurkan
la source
1

Pour moi, le problème était que je n'ai créé aucun périphérique virtuel après une nouvelle installation d'Android Studio. Ainsi, expo se plaignait vaguement de l'emplacement du sdk alors que le principal problème était les périphériques virtuels manquants. J'espère que cela aidera quelqu'un à l'avenir, m'a fait chercher quelques heures.

PS: ici, vous pouvez découvrir comment en créer un https://developer.android.com/studio/run/managing-avds

Omar Dulaimi
la source
0

Vérifiez, 1. Dans les paramètres du module, si l'emplacement du SDK est correct. 2. Si oui, recherchez le fichier local.properties (pas celui placé à l'intérieur du module d'application, mais celui placé à l'extérieur du module d'application, au niveau parent). S'il n'est pas présent, ajoutez-le avec les lignes ci-dessous à l'intérieur.

sdk.dir=/path/to/sdk/../Android/Sdk
Max Droid
la source
0

J'ai juste fait face au problème lorsque j'ai cloné mon dépôt de Github et j'ai couru ./gradlew clean assembleDebug. Je confirme que j'ai ANDROID_HOME dans mon fichier .bashrc.

J'ai donc importé le projet dans Android Studio. Remarqué que l' extension de mon dossier settings.gradle est .kts, settings.gradle.kts. Lorsque j'en ai terminé avec l'importation, j'ai couru ./gradlew clean assembleDebuget je n'ai eu aucun problème.

Hesam
la source
0

j'ai essayé

sdk.dir = \Users\OLUWAGBEMIGA\AppData\Local\Android\sdk 

et cela a fonctionné, je l'ai simplement collé dans le dossier du projet et à l'extérieur.

Dans la variable d'environnement, j'ai également utilisé le lien sdk ci-dessus et le nom ANDROID_HOMEcomme nom de chemin. Fermer tout rouvrir et Cabom tout a fonctionné

John Akinola
la source