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.
Android/
-Verzeichnis Ihres Reactate-ProjektsErstellen Sie eine Datei mit dem Namen local.properties
mit dieser Zeile:
sdk.dir = /Users/USERNAME/Library/Android/sdk
Dabei ist USERNAME
Ihr OSX-Benutzername
local.properties
fügen Sie Ihren Android SDK-Pfad wie folgt ein
sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
sdk.dir = /Users/USERNAME/Library/Android/sdk
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.
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
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 .
echo "sdk.dir = /Users/$(whoami)/Library/Android/sdk" > Android/local.properties
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
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.
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.
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.
Für Windows Benutzer
Eine einfache Lösung besteht darin, den SDK-Pfad auf die Liste der Umgebungsvariablen festzulegen.
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.
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
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
Schauen Sie sich Ihre local.properties
-Datei an:
sdk.dir=C\:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
ob das Format korrekt ist oder nicht
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
Aktualisierte Schritte für React Native0.58 für den Einstieg in MAC/Unix
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
source ~/.bash_profile
echo $PATH
adb devices
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
Stellen Sie sicher, dass Sie den richtigen Emulator und die Android-Version installiert haben. Das hat das Problem für mich gelöst.
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.
Die beste Lösung, die ich finden kann, lautet wie folgt:
So sieht die Gradle-Datei aus:
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.
Kopieren Sie das andere Android-Projekt Ihres Systems local.properties und fügen Sie es in den Android-Ordner des React-native Projekts ein.
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
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.
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
Ö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.
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.