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 einige Optionen, um dies zu erreichen. Beginnen wir jedoch damit, zuerst den richtigen SDK-Ordner zu finden.
Finden Sie Ihr SDK
Vom Paketmanager
Wenn Sie eine paketbasierte JRE-Installation wie Java 8 JRE über eine benutzerdefinierte PPA in einer Debian-basierten Distribution verwenden oder OpenJDK verwenden , lautet das Verzeichnis höchstwahrscheinlich / usr / lib / jvm / java-8-oracle (oder welche Version Sie 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 über den Java JRE / SDK-Download installiert haben , befindet sich dieser überall dort, wo Sie den Ordner abgelegt haben, z. B. / home / username /jdk-8u121_1.8.0 (oder ähnliches).
Bei Skriptinstallationen wird das SDK möglicherweise sogar zu / opt / java-8-oracle hinzugefügt. Zum jetzigen Zeitpunkt belassen die Anweisungen zur Java-Installation die Ordnerplatzierung in Ihren Händen.
Android Studio 2.2
Wenn Sie Android Studio verwenden, wird das SDK an der Stelle platziert, an der Sie es festgelegt haben, um die über den SDK-Manager von Studio heruntergeladenen SDK-Dateien abzulegen. Unter Datei> Einstellungen> Darstellung und Verhalten> Systemeinstellungen> Android SDK finden Sie oben die SDK-Standorteinstellung mit der Option zum Ändern und dem Standardordner ~ / Android / Sdk .
Festlegen des SDK-Pfads
Jetzt, da wir wissen, wo sich das SDK befindet, ist es Zeit, React-Native zu informieren.
Option 1: Mit local.properties festlegen
Diese Methode ist sehr einfach und Sie müssen lediglich die Datei local.properties im folgenden Ordner erstellen , in dem Project_Folder die Basis Ihrer React-Native-Anwendung ist:
Project_Folder / Android / App
In Ihren 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, um das Problem zu beheben, 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, planen Sie, diese Datei für die local.properties jedes Projekts zu ändern.
Führen Sie nach dem Speichern der Datei den Befehl react-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 zu den .bash_profile- oder .profile-Dateien in unserem Home-Verzeichnis hinzufügen, die zuletzt geladen wurden, damit wir sicherstellen können, dass nichts anderes die von uns vorgenommenen Einstellungen überschreibt. Da sich diese in Ihrem Home-Verzeichnis befinden, müssen Sie nicht mit eskalierten 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 gefundenen. 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 wenden Sie die Profileinstellungen an:
$ source ~/.profile
$ echo $ANDROID_HOME
/home/dbrown/Android/Sdk
Wenn der Sdk-Ordner korrekt angezeigt wird, herzlichen Glückwunsch! Führen Sie Ihren reaktionsnativen Befehl erneut aus und beobachten Sie, wie der App-Erstellungsprozess fortgesetzt wird.
Wenn Sie noch Probleme haben
Wenn aus irgendeinem Grund die Fehlermeldung " > Ziel mit Hash-Zeichenfolge 'android-23' in: Ihrem Ordner / sdk / nicht gefunden werden konnte , müssen Sie sicherstellen, dass die Build-Version des Projekts und die Version des installierten SDK übereinstimmen (React -Native ist standardmäßig 23.0.1). Sie finden die Standardversion in Project_Folder / android / app / build.gradle und suchen dann nach buildToolsVersion . Sie können die Version natürlich aus dieser Datei ändern oder in Android Studio zu Datei gehen > Projektstruktur zum Ändern des Projekt-SDK . Ich würde nicht empfehlen, diese Version zu ändern, es sei denn, Sie wissen genau, was Sie tun. Andernfalls installieren Sie die SDK-Version, nach der das Projekt sucht.