Подтвердить что ты не робот

React Native error: "Невозможно определить версию java из" 9.0.1 "."

Я работаю на MacOS и только начинаю с react-native.

Один из первых шагов, с которого нужно начать - это запустить: react-native run-android или react-native run-ios. Но я получаю эту ошибку:

react-native run-android

Результат:

Scanning folders for symlinks in /Users/ric/myprojs/albums/node_modules (6ms)
Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug)...

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine java version from '9.0.1'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
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 --version:

java --version

Результат:

java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
mbp:albums ric$ java --version
java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

редактировать

Моя версия Javac:

javac --version

Результат:

javac 9.0.1

Есть идеи, как это исправить?

4b9b3361

Ответ 2

Действительно самый быстрый способ обойти эту ошибку - использовать JDK 8. За исключением случаев, когда вам действительно нужно использовать JDK9.

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Не забудьте изменить переменную среды JAVA_HOME на новую версию JDK!

Ответ 3

Убедитесь, что у вас установлен JDK8 а затем установите JAVA_HOME в JDK8

например:

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

или используйте файлы .bash_* для установки этой переменной

Ответ 4

На MacOS я запускал следующие команды:

brew cask uninstall java
brew tap caskroom/versions
brew cask install java8 "or just brew cask install java to install latest version"

Ответ 5

vi ~/.bash_profile

Затем добавьте следующие строки:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

Теперь создайте исходный файл, чтобы указанные изменения вступили в силу в текущей оболочке:

source ~/.bash_profile 

Ответ 6

Я получал эту ошибку, но для более новой версии Java - 10.0.2.

Чтобы исправить свою ошибку, я выполнил шаги, упомянутые @Blacktoviche в этом выпуске Github: https://github.com/facebook/react-native/issues/17688

Когда я открыл папку android внутри своего проекта через Android Studio, мне предложили Android Gradle plugin update recommended. В то время я следовал слегка устаревшему учебнику, в котором говорилось, что нужно нажимать кнопку " Don't remind me again for this project.

Однако, как рекомендовано @Blacktoviche в проблеме github, указанной выше, иногда необходимо обновить плагин Gradle. После обновления мне также пришлось нажать Install Build Tools 27... and sync project (точную версию я не помню).

После того, как я выполнил эти шаги, я смог успешно запустить собственное приложение реакции на эмуляторе Android Studio.

Надеюсь, это поможет кому-то!

Ответ 7

React Native не работает с версиями Java выше 8, поэтому вам необходимо удалить версию 9.0.1. Для этого выполните следующие команды:

cd /Library/Java/JavaVirtualMachines/
ls -l

Определите папку, содержащую вашу версию Java, затем удалите ее

sudo rm -rf jdk.x.x_xxx.jdk

После этого вы можете скачать и установить Java 8 из Oracle снова. Обратитесь к странице загрузки jdk8

Ответ 8

В Ubuntu вы должны запустить эти командные строки в терминале:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt install oracle-java8-installer
sudo apt install oracle-java8-set-default

Ответ 9

Я решаю это путем понижения JDK до 8.

Ответ 10

Если вы используете Windows; Убедитесь, что вы добавили свой путь JDK в переменную пути среды. Затем откройте папку Android из вашего собственного проекта в Android Studio. Он обновит необходимые вам вещи автоматически.

Ответ 11

Я обычно получаю эту ошибку, когда забываю собрать проект с помощью Android Studio. Простая синхронизация и обновление Gradle сделают всю работу.