Ответ 1
В вашем файле PROJECT_PATH/android/gradle/wrapper/gradle-wrapper.properties
обновите ваш distributionUrl
следующим образом:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-all.zip
Я работаю на 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
Есть идеи, как это исправить?
В вашем файле PROJECT_PATH/android/gradle/wrapper/gradle-wrapper.properties
обновите ваш distributionUrl
следующим образом:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-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_*
для установки этой переменной
На MacOS я запускал следующие команды:
brew cask uninstall java
brew tap caskroom/versions
brew cask install java8 "or just brew cask install java to install latest version"
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
Я получал эту ошибку, но для более новой версии 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.
Надеюсь, это поможет кому-то!
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
В 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
Я решаю это путем понижения JDK до 8.
Если вы используете Windows; Убедитесь, что вы добавили свой путь JDK в переменную пути среды. Затем откройте папку Android из вашего собственного проекта в Android Studio. Он обновит необходимые вам вещи автоматически.
Я обычно получаю эту ошибку, когда забываю собрать проект с помощью Android Studio. Простая синхронизация и обновление Gradle сделают всю работу.