React Native: JAVA_HOME не установлен, и никакая команда java не может быть найдена в вашем PATH

Я шаг за шагом последовал за официальным Приступаем к работе. Я начал с чистой установки linux и установил все необходимое в соответствии с вкладкой "Проекты зданий с собственным кодом". Я также прочитал раздел устранения неполадок. Я уже создал проект с помощью терминала.

Это ошибка, когда я запускаю 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, потому что последние версии Android Studio не требуют установки Java в систему. Вместо этого используется внутренняя JRE.

Повторяющееся выражение об отказе от ответственности: я уже прочитал этот вопрос. Это не то, что я хочу. Я знаю, как установить дом Java. Я просто хочу запустить проект реагирования БЕЗ необходимости устанавливать отдельную Java.

Вопросы:

  1. Как найти внутреннюю Java внутри папки Android Studio, чтобы я мог указать JAVA_HOME на нее?
  2. Если это невозможно, я мог открыть и запустить проект внутри android папки с Android Studio? Как обновить этот проект после изменения кода JavaScript React в родительской папке?

Ответ 1

Я отвечу на свои вопросы и поддержу своих коллег по Linux:

1- Чтобы указать JAVA_HOME на JRE, включенную в Android Studio, сначала найдите папку установки Android Studio, а затем найдите каталог /jre. Полный путь к этому каталогу - это то, что вам нужно для установки JAVA_PATH (спасибо @TentenPonce за его ответ). В Linux вы можете установить JAVA_HOME, добавив эту строку в ваши .bash_profile files .bashrc или .bash_profile files:

export JAVA_HOME=<Your Android Studio path here>/jre

Этот файл (один или другой) совпадает с тем, к ANDROID_HOME вы добавили ANDROID_HOME если вы ANDROID_HOME за React Native Getting Started для Linux. Оба скрыты по умолчанию и могут быть найдены в вашем домашнем каталоге. После добавления строки вам необходимо перезагрузить терминал, чтобы он мог выбрать новую переменную среды. Так типа:

source $HOME/.bash_profile

или же

source $HOME/.bashrc

и теперь вы можете запустить react-native run-android в том же терминале. Другой вариант - перезагрузить ОС. Другие терминалы могут работать по-другому.

ПРИМЕЧАНИЕ: для реального запуска проекта необходимо заранее запустить эмулятор Android или подключить реальное устройство. Самый простой способ - открыть уже существующий проект Android Studio и запустить оттуда эмулятор, а затем закрыть Android Studio.

2- Так как то, что, по react-native run-android видимому, react-native run-android и есть:

cd android && ./gradlew installDebug

Вы можете открыть вложенный проект Android с помощью Android Studio и запустить его вручную. Изменения JS могут быть перезагружены, если вы включите прямую перезагрузку в эмуляторе. Введите CTRL + M (CMD + M в MacOS) и выберите опцию "Включить живую перезагрузку" в появившемся меню (слава @BKO за его ответ)

Ответ 2

Я думаю, что правильный способ найти внутреннюю Java, используемую Android Studio, - это

  1. Открыть Android Studio
  2. Перейти к File-> Другое Settings-> Структура проекта по умолчанию /JDK Местоположение:
  3. и скопировать то, что указано в строке.

Это не потребует запоминания папки или поиска java, а также этих шагов с любыми будущими изменениями в java-местоположении в результате изменений в команде Android Studio. Я полагаю,

Ответ 3

Он находится в самой папке Android Studio, где вы ее установили.

enter image description here

Ответ 4

Все, что я сделал, это перейти к моей директории проектов из командной строки cmd. Я набрал java -version. Сказал мне, какую версию он искал. поэтому я установил эту версию, и я изменил путь к тому, чтобы был найден jdk этой версии.

Ответ 5

  1. Убедитесь, что у вас установлена Java
  2. ваш путь неверен

сделай это:

    export | grep JAVA

РЕЗУЛЬТАТ: для чего установлен java home

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
  1. следуйте по пути, чтобы проверить правильность каталогов

я сделал это в моем терминале:

open /Library

затем я пошел в /Java/JavaVirturalMachines оказывается, у меня была неправильная папка "jdk1.8.0_202.jdk", был другой номер... 4. Вы можете использовать эту команду, чтобы установить java_home

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home

Ответ 6

Пожалуйста, добавьте JAVA_HOME в системную переменную no в пользовательскую переменную

  1. Создайте имя переменной как JAVA_HOME
  2. Пожалуйста, используйте этот формат в поле значения → C:\Program Files\Java\jdk (версия), что у вас есть или загружено.