反应本机错误:"Could not determine java version from '9.0.1'."



我正在MacOS上工作,只是从react-native开始。

开始的第一步是运行:react-native run-androidreact-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

查看相关的 gradle 发行版文档

实际上,解决此错误的最快方法是使用 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_*文件设置此变量

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)

现在源文件以使上述更改在当前 shell 中生效:

source ~/.bash_profile 

在MacOS上,我运行了以下命令:

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

我收到此错误,但对于较新版本的 Java - 10.0.2。

为了修复我的错误,我按照@Blacktoviche在此Github问题中提到的步骤进行操作:https://github.com/facebook/react-native/issues/17688

当我通过 Android Studio 打开项目中的 android 文件夹时,系统提示我Android Gradle plugin update recommended .当时,我正在遵循一个稍微过时的教程,告诉我点击Don't remind me again for this project

但是,正如上面链接的 github 问题中所建议@Blacktoviche的那样,有时有必要更新 Gradle 插件。更新后,我还必须单击Install Build Tools 27... and sync project(我不记得确切的版本)。

按照这些步骤操作后,我能够在 Android Studio 模拟器上成功运行我的 react 本机应用程序。

希望这对某人有所帮助!

2018 年 12 月 ---- 日---关注---React Native 不适用于高于 8 的 Java 版本,因此您需要卸载9.0.1版本。为此,请执行以下命令:

cd /Library/Java/JavaVirtualMachines/
ls -l

识别包含您的 Java 版本的文件夹,然后将其删除

sudo rm -rf jdk.x.x_xxx.jdk

之后,您可以再次从oracle下载并安装java 8。请参阅 jdk8 下载页面

如果您使用的是 Windows;确保将 jdk 路径添加到环境路径变量。然后从你的反应原生项目打开你的安卓文件夹到安卓工作室。它将自动更新必要的内容。

当我忘记使用Android Studio构建项目时,我通常会收到此错误。一个简单的同步和升级 Gradle 就可以完成这项工作。

我通过将JDK降级到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

相关内容

  • 没有找到相关文章

最新更新