web-dev-qa-db-de.com

React Native: Java_HOME ist nicht gesetzt und es wurde kein 'Java'-Befehl in Ihrem PATH gefunden

Ich habe Schritt für Schritt das offizielle Getting Started verfolgt. Ich habe mit einer sauberen Linux-Installation begonnen und alles installiert, was gemäß der Registerkarte "Building Projects with Native Code" erforderlich ist. Ich habe auch den Abschnitt zur Fehlerbehebung gelesen. Ich habe das Projekt bereits mit dem Terminal erstellt.

Dies ist der Fehler beim Ausführen von react-native run-Android:

    Starting JS server...
    Building and installing the app on the device (cd Android && ./gradlew installDebug)...

    ERROR: Java_HOME is not set and no 'Java' command could be found in your PATH.

    Please set the Java_HOME variable in your environment to match the
    location of your Java installation.

    Could not install the app on the device, read the error above for details.
    Make sure you have an Android emulator running or a device connected and have
    set up your Android development environment:
    https://facebook.github.io/react-native/docs/Android-setup.html

Java_HOME wird nicht gefunden, da für die neuesten Versionen von Android Studio keine Java-Installation im System erforderlich ist. Stattdessen wird eine interne JRE verwendet. 

Doppelter Haftungsausschluss: Ich habe bereits diese Frage gelesen. Das will ich nicht. Ich weiß, wie man Java nach Hause stellt. Ich möchte nur das Reakt-Projekt ausführen, ohne ein separates Java installieren zu müssen.

Fragen:

  1. Wie finde ich das interne Java im Android Studio-Ordner, damit ich Java_HOME darauf verweisen kann?
  2. Wenn nicht möglich, kann ich das Projekt im Ordner Android mit Android Studio öffnen und ausführen? Wie würde ich dieses Projekt aktualisieren, nachdem Sie den JavaScript-Code von React im übergeordneten Ordner geändert haben?
7
Mister Smith

Ich beantworte meine eigenen Fragen und füttere meine Linux-Benutzer mit einem Löffel:

  1. Um Java_HOME auf die in Android Studio enthaltene JRE zu verweisen

    suchen Sie zuerst den Installationsordner von Android Studio. Dann das /jredirectory suchen. In diesem Verzeichnis muss der vollständige Pfad angegeben werden Java_PATH (Dank an @TentenPonce für his answer ). Unter Linux können Sie Java_HOME festlegen, indem Sie diese Zeile in Ihren .bashrc oder .bash_profile files einfügen:

    java_HOME =/jre exportieren

Diese Datei (die eine oder die andere) entspricht der Datei, zu der Sie Android_HOME hinzugefügt haben, wenn Sie das React Native Getting Started für Linux befolgen. Beide sind standardmäßig ausgeblendet und befinden sich in Ihrem Heimatverzeichnis. Nach dem Hinzufügen der Zeile müssen Sie das Terminal erneut laden, damit es die neue Umgebungsvariable aufnehmen kann. So tippen Sie:

source $HOME/.bash_profile

oder

source $HOME/.bashrc

und jetzt können Sie react-native run-Android in demselben Terminal ausführen. Eine andere Möglichkeit ist das Betriebssystem neu zu starten. Andere Terminals funktionieren möglicherweise anders.

NOTE: Damit das Projekt tatsächlich ausgeführt werden kann, müssen Sie im Voraus einen Android-Emulator starten oder ein echtes Gerät angeschlossen haben. Am einfachsten ist es, ein bereits bestehendes Android Studio-Projekt zu öffnen, den Emulator von dort aus zu starten und Android Studio zu schließen.

  1. Was react-native run-Android zu tun scheint, ist Folgendes:

    cD Android && ./gradlew installDebug

Sie können das verschachtelte Android-Projekt tatsächlich mit Android Studio öffnen und manuell ausführen. JS-Änderungen können erneut geladen werden, wenn Sie Live Reload im Emulator aktivieren. Geben Sie STRG + M (CMD + M unter MacOS) ein und wählen Sie im angezeigten Menü die Option "Live Reload aktivieren" (Kudos an @BKO für seine Antwort ).

21
Mister Smith

Ich denke, der richtige Weg, um das vom Android Studio verwendete interne Java zu finden, ist zu finden

  1. Öffnen Sie Android Studio
  2. Gehen Sie zu Datei-> Andere Einstellungen-> Standardprojektstruktur/JDK-Speicherort: 
  3. und kopiere den String, der dort angegeben ist

Es ist nicht erforderlich, den Ordner zu speichern oder nach Java zu suchen. Außerdem werden durch diese Schritte zukünftige Änderungen am Java-Speicherort durch die Android Studio-Team-Änderungen vorgenommen

5
Vivu

Es befindet sich im Ordner Android Studio, wo Sie es installiert haben.

 enter image description here

3
Tenten Ponce

Alles, was ich getan habe, ist, in mein Projektverzeichnis von der cmd (Eingabeaufforderung) zu gehen, die ich Java -version.it eingegeben habe. Also habe ich diese Version installiert und den Pfad dahingehend geändert, dass der Jdk dieser Version gefunden wurde. 

1
benji8
  1. Stellen Sie sicher, dass Java installiert ist
  2. dein Weg ist falsch

mach das:

    export | grep Java

DAS ERGEBNIS: was Java home ist festgelegt auf

Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
  1. folgen Sie dem Pfad, um zu überprüfen, ob die Verzeichnisse korrekt sind

das habe ich in meinem Terminal gemacht:

open /Library

dann ging ich zu/Java/JavaVirturalMachines. Es stellte sich heraus, dass ich den falschen Ordner "jdk1.8.0_202.jdk" hatte. Es gab eine andere Nummer ... 4. Mit diesem Befehl können Sie Java_home einstellen

export Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
0
rabiaasif

Bitte fügen Sie das Java_HOME in die Systemvariable no in der Benutzervariable ein

  1. Erstellen Sie den Variablennamen als Java_HOME
  2. Bitte verwenden Sie dieses Format im Wertefeld -> C:\Programme\Java\jdk (Version), was Sie haben oder heruntergeladen haben.
0
Manu Panduu

Ich habe dies in der Eingabeaufforderung ausgeführt (habe Windows 7 OS): Java_HOME = C:\Programme\Android\Android Studio\jre

wo was sein = zu ist der Pfad zu diesem JRE-Ordner, also kann jeder anders sein.

0
SrednaK