Я работаю над 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
Есть идеи, как это исправить?
javac -version
Ответы:
В вашем
PROJECT_PATH/android/gradle/wrapper/gradle-wrapper.properties
файле обновите вашdistributionUrl
до следующего:См. Соответствующую документацию по дистрибутивам Gradle
источник
gradle-4.10-all.zip
На самом деле самый быстрый способ обойти эту ошибку - использовать JDK 8. За исключением тех случаев, когда вам действительно нужно использовать JDK9.
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Не забудьте изменить переменную среды JAVA_HOME на новую версию JDK!
источник
Убедитесь , что вы
JDK8
установили , а затем установитьJAVA_HOME
вJDK8
например:
или используйте
.bash_*
файлы для установки этой переменнойисточник
export JAVA_HOME=$(/usr/libexec/java_home)
изменение его, чтобы выбратьexport JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
последнюю установленную версию Java v8, и исправить эту же проблему.Затем добавьте следующие строки:
Теперь создайте файл, чтобы изменения вступили в силу в текущей оболочке:
источник
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
решила проблему для меня - Спасибо!В MacOS я выполнил следующие команды:
источник
Я получал эту ошибку, но для более поздней версии 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.
Надеюсь, это кому-то поможет!
источник
---- Декабрь 2018 --- обратите внимание --- React Native не работает с версиями Java выше 8, поэтому вам необходимо удалить вашу
9.0.1
версию. Для этого выполните следующие команды:Определите папку, содержащую вашу версию Java, затем удалите ее.
После этого вы можете снова загрузить и установить java 8 из oracle. См. Страницу загрузки jdk8
источник
Если вы используете окна; Убедитесь, что вы добавили свой путь jdk в переменную пути к среде. Затем откройте папку Android из своего собственного проекта в студии Android. Он автоматически обновит необходимые вам вещи.
источник
Обычно я получаю эту ошибку, когда забываю собрать проект с помощью Android Studio. Простая синхронизация и обновление Gradle сделают всю работу.
источник
Я решил эту проблему, понизив JDK до 8.
источник
В Ubuntu вы должны запустить эти командные строки в терминале:
источник