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.



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.


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


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


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.


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


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


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)


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

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

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!


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


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.

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.

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.


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

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.


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

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)


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.



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.


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


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

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


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.


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


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

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.


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é

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.