wake-up-neo.net

Reaktiver native Android-Build ist fehlgeschlagen. SDK-Speicherort nicht gefunden

Ich habe einen Fehler, wenn ich Android starte

What went wrong:
A problem occurred evaluating project ':app'.  
> SDK location not found. Define location with sdk.dir in the local.properties file or with an Android_HOME environment variable.
324
Pyae Sone Nyein
  • Wechseln Sie in das Android/-Verzeichnis Ihres Reactate-Projekts
  • Erstellen Sie eine Datei mit dem Namen local.properties mit dieser Zeile:

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

    Dabei ist USERNAME Ihr OSX-Benutzername

613
Ravin
  1. Gehen Sie zu Ihrem reaktiven 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

Ersetzen Sie USERNAME durch Ihren Benutzernamen

Führen Sie nun den react-native run-Android in Ihrem Terminal aus.

272
Naveen T P

Sie können versuchen, Android_PATH hinzuzufügen

export Android_HOME=/Users/<username>/Library/Android/sdk/
export PATH=$PATH:$Android_HOME/tools:$Android_HOME/platform-tools
94
Nish

Öffne ~/.bash_profile und füge hinzu:

 export Android_HOME=~/Library/Android/sdk/
 export PATH=$PATH:~/Android-sdks/platform-tools/
 export PATH=$PATH:~/Android-sdks/tools/

 enter image description here

45
notdrone

NICHT [~ # ~] aktualisieren [~ # ~] local.properties, Es ist definitiv eine schlechte Praxis.

So habe ich es behoben. Fügen Sie Folgendes in ~/.bash_profile Oder ~/.bashrc Ein.

export Android_HOME=/usr/local/share/Android-sdk
export PATH=$Android_HOME/tools:$PATH
export PATH=$Android_HOME/platform-tools:$PATH
export PATH=$Android_HOME/build-tools/23.0.1:$PATH

Hinweis: Ich habe mit brew cask Android SDK installiert Befolgen diese Anweisungen .

35
locropulenton

echo "sdk.dir = /Users/$(whoami)/Library/Android/sdk" > Android/local.properties

28
snowcamel

Wenn Sie sich unter Windows befinden, fügen Sie die umgekehrten Schrägstriche und den Doppelpunkt in der Datei Android/local.properties hinzu. Wenn nicht, dann erstellen Sie es

sdk.dir = C\:\\Android\\sdk
20
Sajjad Ashraf

Beheben von SDK-Pfadfehlern auf Linux-Distributionen


Ihr Projekt findet das in den Projekteinstellungen festgelegte SDK nicht über den angegebenen Pfad. Daher muss das Projekt in die richtige Richtung zeigen, und Sie haben mehrere Optionen, um dies zu bewerkstelligen. Zunächst müssen Sie jedoch den richtigen SDK-Ordner suchen.


Finden Sie Ihr SDK


Von Package Manager


Wenn Sie eine package-basierte JRE-Installation wie Java 8 JRE über einen benutzerdefinierten PPA in einer Debian-basierten Distribution oder OpenJDK verwenden, wird das Verzeichnis am häufigsten verwendet Wahrscheinlich handelt es sich um / usr/lib/jvm/Java-8-Oracle (oder welche Version Sie auch gewählt haben). Sie finden diesen Pfad in der Umgebungsvariablen Java_HOME:

$ echo $Java_HOME
 /usr/lib/jvm/Java-8-Oracle

Manueller Download


Wenn Sie die Installation über Java JRE/SDK-Download installiert haben, ist dies der Ort, an dem Sie den Ordner abgelegt haben, z. / home/Benutzername /jdk-8u121_1.8.0 (oder ähnliches).

Skriptgesteuerte Installationen können das SDK sogar zu / opt/Java-8-Oracle hinzufügen, aber zu diesem Zeitpunkt belassen die Anweisungen zur Java-Installation die Ordnerplatzierung in Ihren Händen. 


Android Studio 2.2


Wenn Sie Android Studio verwenden, befindet sich das SDK dort, wo Sie die SDK-Dateien gespeichert haben, die über den SDK-Manager von Studio heruntergeladen wurden. Unter Datei> Einstellungen> Aussehen und Verhalten> Systemeinstellungen> Android SDK finden Sie oben die SDK-Positionseinstellung mit der zu ändernden Option. Der Standardordner lautet ~/Android/Sdk.

 Android Studio SDK Path

Festlegen des SDK-Pfads

Nun, da wir wissen, wo sich das SDK befindet, ist es an der Zeit, Reactative wissen zu lassen.


Option 1: Set mit local.properties


Diese Methode ist sehr einfach und es wird lediglich die Datei local.properties im folgenden Ordner erstellt, wobei Project_Folder die Basis Ihrer React-Native-Anwendung ist: 

Projektordner/Android/App

In Ihrer local.properties möchten Sie die Variable sdk.dir auf den Pfad Ihres SDK-Ordners setzen:

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

Dies ist zwar der einfachste Weg, das Problem zu beheben, ist aber nicht der beste, insbesondere wenn Sie mit mehreren Projekten arbeiten. Für jedes Projekt müssen Sie diese Datei für jedes Projekt erstellen. Wenn sich der Ordner ändert, müssen Sie die Datei für jedes Projekt local.properties ändern.

Sobald die Datei gespeichert ist, führen Sie den Befehl reag-native run-Android erneut aus.


Option 2: Einstellungsordner mit Umgebungsvariablen


Die andere Option besteht darin, die SDK-Ordner auf die lokalen Umgebungsvariablen festzulegen, nach denen React-Native standardmäßig sucht. Dazu fügen wir den Pfad Android_HOME hinzu. Als Bonus können wir auch unsere Android-Tools an derselben Stelle hinzufügen. Wir müssen dies eher den .bash_profile- oder .profile-Dateien in unserem Home-Verzeichnis hinzufügen, die zuletzt geladen wurden, damit wir sicherstellen können, dass die Einstellungen, die wir vornehmen, durch nichts anderes überschrieben werden. Da sich diese in Ihrem Heimatverzeichnis befinden, müssen Sie nicht mit erweiterten Berechtigungen bearbeiten.

**$ vim ~/.profile**  (use nano or pico if you prefer)

Fügen Sie in der Datei die folgenden Zeilen hinzu, und ersetzen Sie den SDK-Ordner durch den oben angegebenen. Ich werde den Android Studio-Ordner als Beispiel verwenden:

export Android_HOME="~/Android/Sdk"
export PATH=$PATH:~/Android/Sdk/tools:~/Android/Sdk/platform-tools

Speichern Sie die Datei und übernehmen Sie die Profileinstellungen:

$ source ~/.profile
$ echo $Android_HOME
/home/dbrown/Android/Sdk

Wenn der Sdk-Ordner korrekt angezeigt wird, herzlichen Glückwunsch! Führen Sie Ihren React-Native-Befehl erneut aus und beobachten Sie, wie der App-Erstellungsprozess fortgesetzt wird.


Wenn Sie immer noch Probleme haben


Wenn Sie aus irgendeinem Grund die Fehlermeldung erhalten, dass "> das Ziel mit der Hash-Zeichenfolge" Android-23 "nicht gefunden hat: Ihr/sdk/-Ordner, müssen Sie sicherstellen, dass die Build-Version des Projekts und die Version des SDKs vorhanden sind Installierte Übereinstimmung (React-Native ist standardmäßig auf 23.0.1 eingestellt.) Die Standardversion finden Sie in Project_Folder/Android/app/build.gradle und suchen Sie dann nach buildToolsVersion. Sie können die Einstellung natürlich ändern Version aus dieser Datei oder in Android Studio gehen Sie zu Datei> Projektstruktur, um das Project SDK zu ändern. Ich würde nicht empfehlen, diese Version zu ändern, es sei denn, Sie wissen absolut genau, was Sie tun, oder installieren Sie die SDK-Version das projekt sucht.

9
DBrown

Für Windows Benutzer

Eine einfache Lösung besteht darin, den SDK-Pfad auf die Liste der Umgebungsvariablen festzulegen.

  1. Gehen Sie zu den Enviromnent-Variablen. (Ihr PC> Eigenschaften)
  2. Erstellen Sie Neue Systemvariablen
  3. Setzen Sie den Variablennamen auf Android_HOME
  4. Stellen Sie den Variable-Wert auf Ihren Android-Sdk-Speicherort ein
  5. Drücken Sie OK (3 Mal für 3 Dialogfelder)

Hinweis:

Ihr Android Sdk befindet sich in der Regel in

C:\Benutzer\IhrBenutzername\AppData\Local\Android\Sdk

Stellen Sie sicher, dass Sie Ihr aktuelles Terminal schließen, da Ihr Terminal alle Ihre vorhandenen Umgebungsvariablen enthält.

7
Ozesh

Sie müssen den korrekten vollständigen Pfad angeben. Verwenden Sie nicht "~/Library/Android/sdk".

vi ~/.bashrc

export Android_HOME=/Users/{UserName}/Library/Android/sdk
export PATH=${PATH}:${Android_HOME}/tools
export PATH=${PATH}:${Android_HOME}/platform-tools

source ~/.bashrc
6
hoi

Unter Ubuntu, wo Sie SDK separat vom Android Studio erhalten müssen seltsam der Pfad funktioniert mit Android Studio, aber mit React Native müssen Sie einen Dateinamen local.properties erstellen.

Zum Beispiel inn ~/AwesomeProject/Android und füge diese Zeile ein:
sdk.dir=/path/to/sdk/in/your/computer

6
ConnelBLAZE

Schauen Sie sich Ihre local.properties-Datei an:

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

ob das Format korrekt ist oder nicht

2
Makvin

Wenn Sie Ubuntu verwenden, gehen Sie einfach in das Android-Verzeichnis Ihres reag-nativen Projekts, erstellen Sie eine Datei mit dem Namen local.properties und fügen Sie den Android-SDK-Pfad hinzu.

sdk.dir = /home/[YOUR_USERNAME]/Android/Sdk
2
Keivan

Aktualisierte Schritte für React Native0.58 für den Einstieg in MAC/Unix 

  • Öffnen Sie das bash_profile im Terminal

nano ~/.bash_profile

export Android_HOME = $ HOME/Bibliothek/Android/sdk exportieren

PATH = $ PATH: $ Android_HOME/Emulator-Export

PATH = $ PATH: $ Android_HOME/Werkzeuge exportieren

PATH = $ PATH: $ Android_HOME/tools/bin-Export

PATH = $ PATH: $ Android_HOME/Plattform-Tools

Control+S to save
Control+X to exit
Y to save changes
  • Aktualisieren Sie die Änderungen im Terminal

source ~/.bash_profile

  • Validate Path:

echo $PATH

  • Bestätigen Sie, wenn alles in Ordnung ist:

adb devices

2
Hitesh Sahu

In Ihrem Projektverzeichnis befindet sich ein Ordner mit dem Namen "Android", in dem sich die Datei local.properties befindet. Löschen Sie die Datei und der Build sollte erfolgreich ausgeführt werden 

1

Stellen Sie sicher, dass Sie den richtigen Emulator und die Android-Version installiert haben. Das hat das Problem für mich gelöst. 

1
Arel

Für Linux Benutzer

Ihre App erhält nicht den Pfad von Android-sdk. Wenn Sie also Linux (ubuntu) verwenden, müssen Sie eine Datei mit dem Namen "local.properties" hinzufügen und im Android-Ordner speichern, der in Ihrem App-Ordner erstellt wird .

Sie müssen unterhalb der Datei local.properties die Datei hinzufügen. Dies ist der Pfad Ihres Android-SDK, der sich in Ihrem System befindet, um die App auszuführen.

sdk.dir=/opt/Android-sdk/

speichern und wiederholen Sie den Befehl reag-native run-Android

ODER

sie können das Terminal öffnen, geben Sie ein

Sudo nano ~/.bashrc

und fügen Sie den folgenden Pfad am Ende der Datei ein

export Android_HOME = "/ opt/Android-sdk /"

und starten Sie Ihren Computer neu und führen Sie danach erneut reag-native run-Android aus.

Hinweis: - Wenn Sie den set-Pfad in die .bashrc-Datei einfügen, müssen Sie nicht einmal die Datei local.properties erstellen.  

1
Yash Vekaria

Die beste Lösung, die ich finden kann, lautet wie folgt: 

  1. Laden Sie Android Studio und SDK Ihrer Wahl herunter (Selbst wenn Sie denken, Sie brauchen es nicht, vertrauen Sie mir darauf, dass Sie es benötigen würden, um die APK-Datei und einige manuelle Änderungen am Android-Code zu veröffentlichen).
  2. Datei> Neu> Importieren, zeigen Sie auf den Ort, an dem sich Ihr Android-Projekt befindet. 
  3. Wenn Sie nach einem bestimmten SDK gefragt werden, laden Sie es bitte gleich herunter. Es kann Sie auffordern, Gradle etc zu aktualisieren ... Bitte aktualisieren Sie bei Bedarf. 
  4. Wenn Sie über ein Android-SDK verfügen und die Version kennen, müssen Sie diese Version nur unter build.gradle Ihres Android-Projekts anpassen.

So sieht die Gradle-Datei aus: 

 enter image description here

Wenn alles mit Ihrem Computer-Setup gut funktioniert hat und Sie das Projekt mit Android Studio kompilieren können, wird Sie nichts daran hindern, Ihre App mit dem Android-Befehl „native Cli Build“ zu erstellen.

Mit diesem Ansatz lösen Sie nicht nur das Problem des SDK, sondern lösen auch viele Probleme, die mit der Einrichtung Ihres Computers für die Android-Entwicklung zusammenhängen. Der Import findet automatisch den SDK-Speicherort und erstellt local.properties. Sie müssen sich also nicht um manuelle Eingriffe kümmern. 

1
codebased

Kopieren Sie das andere Android-Projekt Ihres Systems local.properties und fügen Sie es in den Android-Ordner des React-native Projekts ein. 

1
Rathore

Das hat bei mir funktioniert.

Ich nehme Stephen Griders React Native auf Udemy und einer der Schüler hat dies in der Vorlesung 50 veröffentlicht. In der Befehlszeile wörtlich eingefügt (natürlich ohne '$'). 

$ export "Android_HOME=/usr/local/opt/Android-sdk" >~/.bash_profile
1
Utah

Es gibt zwei Abstufungsdateien, change die in Ihrem C:\myapp\Android\build.gradle und nicht im übergeordneten Verzeichnis myapp.

Ersetzen Sie 23.0.1 durch Ihre Version von Android Build Tool, die in meinem Fall 25.0.0 installiert ist.

Führen Sie reag-native run-Android aus, um Ihre App im Emulator anzuzeigen.

0
P.Ranjan

Ich bin unter Windows und musste den SDK-Pfad ändern, unabhängig davon, ob er sich in PATH env befindet. Variable

sdk.dir=C:/Users/MY_USERNAME/AppData/Local/Android/Sdk

Geändert diese Datei:

MyProject\Android\local.properties
0
noob_admin

Öffnen Sie einfach den Ordner Android im Projekt von Android Studio . Das Android Studio erstellt die erforderliche Datei (local.properties) und lädt die SDK-Version für Android-Lauf herunter.

0
Rasoul Miri

Wenn Sie ein Android studio-Projekt erstellen, können Sie sehen, dass eine local.properties-Datei in Ihrem Projektstammverzeichnis erstellt wird. Wenn Sie ein reaktives Projekt erstellen, wird diese Datei nicht für Sie erstellt. Sie müssen es also manuell erstellen. Und müssen skd dir hinzufügen. Erstellen Sie also eine neue Datei im Android-Ordner (im Stammverzeichnis). und geben Sie Ihren sdk-Pfad wie folgt ein sdk.dir=D\:\\Android\\SDK\\Android_sdk_studio . Denken Sie daran: single\mit double zu entfernen. Genau wie oben.

0
Nouman Ghaffar