SDK-Speicherort nicht gefunden. Definieren Sie den Speicherort mit sdk.dir in der Datei local.properties oder mit einer Umgebungsvariablen ANDROID_HOME

271

Ich habe kürzlich versucht, Beispiel-Android-Spiele zu importieren, die ich von der Entwickler-Website von Google heruntergeladen habe. Nach dem Import in Android Studio wird folgende Fehlermeldung angezeigt:

Fehler: SDK-Speicherort nicht gefunden. Definieren Sie den Speicherort mit sdk.dirin der Datei local.properties oder mit einer ANDROID_HOMEUmgebungsvariablen.

Was ist das? Ich möchte die Beispielprogramme von Android Studio ausführen.

Sameer Shamsudeen
quelle

Antworten:

244

Dem Projekt fehlt möglicherweise eine settings.gradleDatei. Stellen Sie sicher, dass die Datei aus dem Projekt vorhanden ist, das Sie importieren. Wenn nicht, fügen Sie die settings.gradleDatei wie folgt hinzu:

include ':app'

Speichern Sie die Datei und legen Sie sie im obersten Ordner Ihres Projekts ab.

Joseph
quelle
16
Wie kann ich feststellen, ob mein Projekt fehlt settings.gradle? Wo wird diese Datei normalerweise gespeichert? Wo tippe ich include ':app'? Was genau macht include ':app'/ generiert? Können Sie Ihrer Antwort bitte weitere Einzelheiten hinzufügen?
Tot Zam
1
@TotZam ist im Stammverzeichnis Ihres Projekts gespeichert
Joseph
2
Fand es. Vielen Dank. Wo würde ich zum späteren Nachschlagen laufen include ':app'? Ich bin ziemlich neu in Android und versuche mich zurechtzufinden.
Tot Zam
2
include :appWenn Sie Android Studio verwenden, wird Android Studio nicht ausgeführt . Dadurch kann Android Studio Ihr Projektmodul hinzufügen, sodass Sie es ohne weitere Konfiguration ausführen können. Nachdem Sie die Zeile hinzugefügt haben, werden settings.gradleSie feststellen, dass die PlaySchaltfläche aktiv wird, nachdem gradle das Erstellen und Herunterladen von Paketen abgeschlossen hat
Joseph
1
Geben Sie den Namen Ihres Projektordners anstelle von "App" ein, wenn dieser anders ist. Es klappt.
Priyank Patel
244

Bitte folgen Sie den folgenden Schritten, die für mich funktionieren:

  • Gehen Sie zu Ihrem reaktionsnativen Projekt und dann zum Android-Verzeichnis. Erstellen Sie eine Datei mit folgendem Namen:

local.properties

  • Öffnen Sie die Datei und fügen Sie Ihren Android SDK-Pfad wie folgt ein:

Für Windows-Benutzer:

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

Ersetzen Sie Benutzername durch Ihren PC-Benutzernamen. Stellen Sie außerdem sicher, dass der Ordner sdk oder Sdk ist. In meinem Fall lautet mein Computernutzername Zahid, sodass der Pfad folgendermaßen aussieht:

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

Für Mac-Benutzer:

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

Wobei USERNAME Ihr OSX-Benutzername ist .

Für Linux (Ubuntu) Benutzer:

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

Dabei steht Benutzername für Ihre Linux - Benutzername (Linux Pfade sind case-sensitive: Stellen Sie sicher , dass der Fall von Sin SdkUrsachen)

Falls dies nicht funktioniert, fügen Sie die Variable ANDROID_HOME unter "Umgebungsvariablen" als hinzu C:\Users\USER\AppData\Local\Android\Sdk

Geben Sie hier die Bildbeschreibung ein

Hoque MD Zahidul
quelle
Ich arbeite mit Open CV. Was soll ich tun, um NDK hinzuzufügen?
Unschuldig
Es half. Tatsächlich ist diese Lösung in der Fehlerformulierung selbst angedeutet. Ich benutze IntelliJ auf dem Mac und in der Projektstruktur habe ich den richtigen SDK-Pfad. Warum brauche ich das dann noch in local.properties?
Alexei Martianov
158

Ich weiß, dass diese Antwort zu spät ist, aber ich hoffe, sie hilft anderen.

Die Antwort ist einfach. Sie müssen nur Ihre local.propertiesDatei in den Ordner kopieren , in dem das Projekt gespeichert ist, und es funktioniert wie ein Zauber. Denken Sie jedoch daran, dass es im Stammordner abgelegt werden muss, in dem das Projekt gespeichert ist.

Harter Mittal
quelle
3
Aber ich muss es jedes Mal kopieren? Dies scheint ein Hack als der richtige Ansatz
pblead26
Dies ist die einfachste Lösung für dieses Problem, da Sie im Projekt nichts ändern müssen. Es gibt auch andere Lösungen, bei denen Sie Code ändern müssen, aber ich denke, für ein solches Problem kann man es sich nicht leisten, viel Zeit zu verschwenden.
Harter Mittal
Dies funktionierte bei mir, als ich dieses Problem nach dem Herunterladen von ExoPlayer 2.1 hatte.
user1147171
2
Es funktioniert, aber sollte Intelij dies nicht automatisch generieren? tks!
Cesarsicas
4
Das funktioniert bei mir nicht. Die Datei ist vorhanden, aber ich habe immer noch den Fehler
Rommex
42

Dieses Problem tritt auf, wenn Sie versuchen, ein Android Studio-Projekt aus der Datei ../app/build.gradle zu importieren .

Importieren Sie das Projekt, indem Sie die Datei ../build.gradle auswählen, die sich im Stammverzeichnis Ihres Projekts befindet.

Michael Saffold
quelle
39

Bitte folgen Sie den folgenden Punkten, die für mich funktionieren:

  1. Gehen Sie zu Ihrem Project -> Android
  2. Erstellen Sie eine Datei local.properties
  3. Öffne die Datei
  4. Fügen Sie Ihren Android SDK-Pfad je nach Betriebssystem ein:

    4.a Windows

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

    4.b Linux oder MacOS

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

    Ersetzen Sie USERNAMEdurch Ihren Benutzernamen

Anjali-Systematix
quelle
Es ist zu spät, um einen Kommentar abzugeben, aber ich möchte wissen, wie das unter MacOS geht.
Nauman Moazzam
Unter MacOS müssen Sie das gleiche Verfahren ausführen, nur um Ihren Android SDK-Dateipfad zu finden und ihn in die Datei local.properties einzufügen ...
fertig
37

Überprüfen Sie in Ihrer local.properties-Datei

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

Schreiben Sie dieses Format richtig und überprüfen Sie / slas mit for path

Qutbuddin Bohra
quelle
Ich habe local.properties mit diesem sdk.dir = C bearbeitet: \\ Benutzer \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk, jeder Fehler in diesem
Sameer Shamsudeen
Ja, nachdem C \ \ Svae mit dieser Hoffnung erledigt hat. sdk.dir = C \: \\ Benutzer \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk
Qutbuddin Bohra
Das funktioniert gut mit Eclipse. Erstellen Sie einfach die Datei local.properties im heruntergeladenen Projekt und fügen Sie die Datei sdk.dir ein. In meinem Fall war es: "sdk.dir = C \: \\ adt-bundle-windows-x86_64-20140321 \\ sdk"
George Papatheodorou
Wenn jemand vor Ihnen steht Sie haben die Lizenzvereinbarungen nicht akzeptiert ... Fehler nach dem obigen Schritt siehe hier stackoverflow.com/a/41078173/1778834
yashhy
Ich habe Android auf meinem Windows 10 m / c installiert, aber es gibt keinen solchen Ordner sdk.dir = C \: \\ Benutzer \\ BENUTZERNAME \\ AppData \\ Lokal \\ Android?
Rohan Gala
27

Hier ist eine Problemumgehung für das Problem, wenn Sie auf "App ausführen" (grüner Pfeil) klicken und im Dialogfeld " Konfiguration bearbeiten" Folgendes anzeigen:

Fehler: Bitte wählen Sie Android SDK

Führen Sie in Android Studio Folgendes aus:

  1. Wählen Sie aus dem Menü File > Settings.
  2. Gehen Sie im Einstellungsdialog zu Appearance & Behavior > System Settings > Android SDK.
  3. Suchen Sie oben nach dem Speicherort des Android SDK und klicken Sie auf die EditSchaltfläche
  4. Klicken Sie auf Weiter, Weiter, Fertig stellen, um die Standardeinstellungen zu übernehmen

Dies scheint den SDK-Speicherort - obwohl sich nichts geändert hat - an einem internen Speicherort zu speichern. Ich habe die Ordner .ideaund überprüft .gradle, aber nicht gesehen, was Studio getan hat, um eine Konfigurationsdatei zu ändern - aber jetzt kann ich die App ausführen.

Und um die vorherigen Korrekturen zusammenzufassen: Diese sind normalerweise für ein Repo ohne Build-Probleme in Ordnung:

  • Die Datei local.properties wird von Studio in den Stammordner kopiert.

  • Der Pfad in der Datei local.properties hat den richtigen Pfad zum Android SDK - in meinem Fall sdk.dir=C:\\android\\sdk (beachten Sie, dass dieser Pfad ein anderes Format hat - Studio sollte diese Datei für Sie basierend auf dem Texteingabefeld in den Android SDK-Einstellungen schreiben Dialog)

  • Die Datei settings.gradle ist im Repo vorhanden und verweist auf den Anwendungsordner (normalerweise: App).

Jim Andreas
quelle
3
Dies ist das einzige, was mir geholfen hat. Die Schritte 3 und 4 sind sehr wichtig
Soshial
16

Wenn Sie dieses Problem beim Abrufen eines reaktionsnativen Projekts haben, müssen Sie das Android-Projekt nur mit Android Studio öffnen. Alles, was Sie brauchen, wird automatisch erstellt.

  • Öffnen Sie Android Studio
  • Datei -> Öffnen
  • Wählen Sie den androidOrdner unter Ihrem reaktionsnativen Projektordner
  • Warten Sie, bis AndroidStudio die Einrichtung abgeschlossen hat
  • Sie können jetzt Android Studio schließen

ODER

Wenn Sie den AndroidStudio-Befehlszeilen-Launcher installiert haben :

  • Führen Sie dies in Ihrem reaktionsnativen Stammordner aus
studio android/
  • Warten Sie, bis AndroidStudio die Einrichtung abgeschlossen hat
  • Sie können jetzt Android Studio schließen
Gianlucaparadise
quelle
1
Es funktioniert für mich
Vikram Rajput
12

Unter Linux:

Wenn Sie das Android SDK bereits heruntergeladen haben, es aber nicht gefunden wird.

Das Problem könnte sein, dass sich die Datei local.propertiesim selben Verzeichnis wie das gradleMaterial gradlebefinden muss, damit sie beim Erstellen und Ausführen von adb gefunden werden kann.

Für mein reaktionsnatives Projekt musste gradleich die local.propertiesDatei in einen Myprojectname/android/Ordner legen .

Da ich das SDK in Downloads entpackt hatte, verwende ich einfach diesen Pfad in der Datei mit einer Zeile wie der folgenden:

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

Ich habe dieses Problem behoben, indem ich die Umgebungsvariable ANDROID_HOME wie folgt in Windows erstellt habe.

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

Starten Sie Android Studio neu, es sollte ein Projekt erstellen!

mumair
quelle
Ich hatte bereits ein ANDROID_SDK, das auf dasselbe Verzeichnis zeigt, also war es für michANDROID_HOME=$ANDROID_SDK
Martijn
10

Ich bin auf dasselbe Problem gestoßen, aber es ist eine etwas andere Fehlermeldung

SDK-Speicherort nicht gefunden. Definieren Sie den Speicherort mit einer Umgebungsvariablen ANDROID_SDK_ROOT oder indem Sie den Pfad sdk.dir in der lokalen Eigenschaftendatei Ihres Projekts auf "xxx" setzen.

MAC & ReactNative

Hinzufügen local.properties

  1. Finden Sie Ihren Android SDK-Speicherort

    /Users/yourMacUserName/Library/Android/sdk
  2. Erstellen Sie local.propertiesunter rootProject/android/local.properties.

  3. Fügen Sie den SDK-Pfad hinzu

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

Dies funktioniert normalerweise, aber wenn Sie in einem Team mit anderen Teammitgliedern arbeiten, yourMacUserNameist dies anders.

ODER

Set ANDROID_SDK_ROOTVariable

  1. Bearbeiten Sie Ihre ~/.zshrcoder ~/.bashrcoder ...
  2. SDK-Pfad hinzufügen:

    export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
  3. Öffnen Sie eine neue Terminalregisterkarte oder source ~/.zshrc
  4. echo $ANDROID_SDK_ROOT um den druckrichtigen SDK-Pfad zu testen.

Alternativ können Sie auch Ihren Pfad hinzufügen , um einige nützliche Befehle zu verwenden.export PATH=${PATH}:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools

William Hu
quelle
9

Wenn Sie versuchen, Google Android-Beispielcode auszuführen, versuchen Sie, das gesamte Repository anstelle eines einzelnen Beispiels zu importieren .

Hier ist der relevante Abschnitt aus der Datei " Anweisungen.html" , der im Beispielcode der Google Kalender-API enthalten ist

  • Importieren Sie ein Kalender-Android-Beispielprojekt
    • Wählen Sie "Projekt importieren ..." oder Datei> Projekt importieren ...
    • Wählen Sie [someDirectory] /google-api-java-client-samples/build.gradle und klicken Sie auf OK.
      • Hinweis: Es funktioniert nicht, wenn Sie versuchen, [someDirectory] /google-api-java-client-samples/calendar-android-sample/build.gradle zu importieren
    • Wählen Sie "Lokale Gradle-Verteilung verwenden" mit "Gradle-Startseite" von [someDirectory] /gradle-2.2.1 und klicken Sie auf OK.
Nate
quelle
6

Es gibt keinen einzigen Grund für diesen Fehler.

  1. settings.gradle Möglicherweise fehlt oder der Inhalt ist möglicherweise falsch.
  2. local.properties Möglicherweise fehlt der SDK-Pfad oder er ist falsch geschrieben.
Arhat Baid
quelle
1
Welche Art von Inhalt sollte in der Datei settings.gradle enthalten sein?
Cabanni
@cabanni settings.gradle enthält nur das Modul in Ihrer Anwendung. Standardmäßig ist es das App-Modul. Hoffe es hilft /
Arhat Baid
5

Entfernen Sie einfach den Ordner .idea und importieren Sie das Projekt erneut. Es hat bei mir funktioniert.

Akshay Sharma
quelle
4

Erstellen Sie eine local.properties-Datei in Ihrem Stammverzeichnis Ihres Projekts mit dem folgenden Inhalt

## 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
quelle
4
  1. Gehen Sie zu Ihrem reaktionsnativen Projekt -> Android
  2. Erstellen Sie eine Datei local.properties

  3. Öffne die Datei

  4. Fügen Sie Ihren Android SDK-Pfad wie folgt ein

     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. Ersetzen Sie USERNAME durch Ihren Benutzernamen

  6. Führen Sie nun den reaktionsnativen Run-Android in Ihrem Terminal aus

oder

Manchmal fehlt dem Projekt möglicherweise eine settings.gradle-Datei. Stellen Sie sicher, dass die Datei aus dem Projekt vorhanden ist, das Sie importieren. Wenn nicht, fügen Sie die Datei settings.gradle wie folgt hinzu:

    include ':app'

Speichern Sie die Datei und legen Sie sie im obersten Ordner Ihres Projekts ab.

Dinush Chathurya
quelle
3

Fügen Sie diese beiden Zeilen in Ihre .bashrc-Datei ein und führen Sie sie aus source ~/.bashrc

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

Für Linux habe ich das gemacht. (Für die erste Zeile)

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

Der beste und einfachste Weg ist, ein neues Android-Projekt zu erstellen. Verschieben Sie den "App" -Ordner von einem nicht funktionierenden Projekt in das neu erstellte und fügen Sie die erforderlichen Abhängigkeiten in den Gradle Ihres neuen Projekts ein. Alles wird perfekt funktionieren.

Armen Hovhannisian
quelle
Dies hat das Problem sowohl auf dem Mac High Serria als auch auf Windows 10 behoben. Gute Antwort und effizient.
Val
2

Wenn alles andere fehlschlägt, kopieren Sie die local.propertiesDatei in das Stammverzeichnis des Projektverzeichnisses. Einfach.

tim4dev
quelle
2

Für Mac / Linux Benutzer

Sie müssen ANDROID_HOMEIhrem Pfad Folgendes hinzufügen und Folgendes zu Ihrer .bashrc || .zshrc || .profileDatei hinzufügen

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

Dann renne

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

Umgebungsvariablen in bash_profile oder bashrc?

Unterschied zwischen .bashrc und .bash_profile

Junius L.
quelle
2

Diese Lösung funktioniert tatsächlich für mich. Gehen Sie zu diesem PC -> Eigenschaften -> Erweiterte Systemeinstellungen -> Umgebungsvariablen -> Erstellen Sie dann in der Systemvariablen eine neue Variable mit dem Namen ANDROID_SDK_ROOT und dem Wert C: \ Users {USERNAME (Ersetzen Sie sie durch Ihren Benutzernamen } \ AppData \ Local \ Android \ Sdk

und stellen Sie sicher, dass wenn echtes Android-Handy mit USB-Debugging aktiviert ist. (sehr wichtig)

Schließen Sie dann cmd und starten Sie es neu, es sollte funktionieren.

Hrishikesh Baidya
quelle
2

In meinem Fall musste ich Project schließen und wieder öffnen. Es hat gut funktioniert. So was

Projekt schließen

Geben Sie hier die Bildbeschreibung ein

Und wieder Projekt wieder öffnen

Geben Sie hier die Bildbeschreibung ein

Muhaiminur Rahman
quelle
Nach dem Hinzufügen des Pfads sdk.dir und auch zu ~ / .bashrc funktionierte nichts. Aber dann habe ich geschlossen und wieder geöffnet und es hat funktioniert. Vielen Dank!
5.
1

Ich habe diesen Fehler erhalten, nachdem ich ein Repository neu geklont habe. Ich habe erwartet, dass local.properties automatisch generiert wird, aber das war nicht der Fall. Ich konnte es durch erneutes Importieren des Gradle-Projekts generieren.

File > Re-import Gradle Project
M. Palsich
quelle
Das hat geholfen. Nach dem Start von "Gradle Project erneut importieren" wurden die folgenden 2 Fehler auf der Konsole gedruckt, die mir geholfen haben, das Problem zu erkennen: Ungültige Gradle JDK-Konfiguration gefunden , Project JDK ist nicht angegeben . Also fing alles an zu funktionieren, nachdem ich den JDK-Pfad in den Einstellungen festgelegt hatte.
Michal Vician
Nachdem der JDK-Pfad festgelegt wurde, musste ich die IDE auch mit der Option "Datei> Caches ungültig machen / Neustart ..." neu starten.
Michal Vician
1

Jeder, der Jenkins verwendet, könnte es nützlich bekommen

Sie müssen einen globalen Variablennamen ANDROID_HOMEmit dem Wert des Pfads zu Android SDK definieren.

Für Mac ist es /Users/YOUR_USER_NAME/Library/Android/sdk

touhid udoy
quelle
1

Ich dachte, Ihre settings.gradle-Datei fehlt. Kopieren Sie diese Datei ein anderes Projekt und fügen Sie Ihr Projekt ein. Es wird funktionieren, denke ich.

in der Datei settings.gradle,

include ':app'

das ist alles. Haben Sie einen guten Tag.

Ozanurkan
quelle
1

Für mich war das Problem, dass ich nach der Neuinstallation von Android Studio keine virtuellen Geräte erstellt habe. Die Expo beschwerte sich also vage über den SDK-Standort, während das Hauptproblem die fehlenden virtuellen Geräte waren. Hoffe das hilft jemandem in der Zukunft, hat mich ein paar Stunden suchen lassen.

PS: Hier erfahren Sie, wie Sie eine https://developer.android.com/studio/run/managing-avds erstellen

Omar Dulaimi
quelle
0

Überprüfen Sie: 1. Überprüfen Sie in den Moduleinstellungen, ob der SDK-Speicherort korrekt ist. 2. Wenn ja, suchen Sie nach der Datei local.properties (nicht die Datei innerhalb des App-Moduls, sondern die Datei außerhalb des App-Moduls auf übergeordneter Ebene). Wenn nicht vorhanden, fügen Sie es mit den folgenden Zeilen hinzu.

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

Ich habe mich gerade dem Problem gestellt, als ich mein Repo von Github geklont und gerannt bin ./gradlew clean assembleDebug. Ich bestätige, dass ich ANDROID_HOME in meiner .bashrc-Datei habe.

Also habe ich das Projekt in Android Studio importiert. Es wurde festgestellt, dass die Erweiterung meiner Datei settings.gradle .kts, settings.gradle.kts. Wenn ich mit dem Import fertig bin, bin ich gelaufen ./gradlew clean assembleDebugund habe kein Problem bekommen.

Hesam
quelle
0

Ich habe es versucht

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

und es hat funktioniert, ich habe es einfach in den Projektordner und außerhalb eingefügt.

In der Umgebungsvariablen habe ich auch den obigen SDK-Link und den Namen ANDROID_HOMEals Pfadnamen verwendet. Schließen Sie alles wieder öffnen und Cabom alles hat funktioniert

John Akinola
quelle