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 --version:

$ javac --version
javac 9.0.1

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

8 57

8 ответов:

в файле

PROJECT_PATH / android/gradle/wrapper / gradle-wrapper.свойства

обновите свой distributionUrl до следующего

distributionUrl=https\://services.gradle.org/distributions/gradle-4.3-rc-2-all.zip

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

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

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

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

например:

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

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

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

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

Я получал эту ошибку, но для более поздней версии 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 (Я не помню точную версию).

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

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

Если вы используете windows; убедитесь, что вы добавили свой путь jdk к переменной пути среды. Затем откройте папку android из вашего проекта react native в Android studio. Он будет обновлять необходимые вещи для вас автоматически.

= > vi ~./ bash_profile

  1. export ANDROID_HOME=$HOME / Library/Android / sdk
  2. export PATH=$PATH:$ANDROID_HOME / tools
  3. export PATH=$PATH:$ANDROID_HOME / tools / bin
  4. export PATH=$PATH:$ANDROID_HOME / platform-tools
  5. экспорт JAVA_HOME=$(/usr/libexec/java_home-V 1.8)

===================== => Источник.~ / bash_profile

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