在OpenJDK1.9中使用Gradle

在OpenJDK1.9中使用Gradle,gradle,react-native,openjdk,gradlew,Gradle,React Native,Openjdk,Gradlew,我似乎无法在OpenJDK1.9中使用Gradle 当我运行以下命令时: react-native run-android 我最终得到了这个错误 Starting JS server... Building and installing the app on the device (cd android && ./gradlew installDebug)... FAILURE: Build failed with an exception. * What went wro

我似乎无法在OpenJDK1.9中使用Gradle

当我运行以下命令时:

react-native run-android
我最终得到了这个错误

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-internal'.
运行java-version向我展示了:

openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)

有什么办法可以解决这个问题吗?

您使用的是哪个版本的gradle

cd android
./gradlew -version
我认为有一个错误决定了Java1.9的版本,它在Gradle2.10中得到了修复

另一种选择是尝试欺骗Gradle可以解析的
java.version

export JAVA_TOOL_OPTIONS='-Djava.version=1.9'
react-native run-android

@请参阅和

这似乎与OpenJDK 9和Gradle的构建不兼容

您的OpenJDK版本是:

openjdk version "9-internal"
Gradle似乎无法解析它:

Could not determine java version from '9-internal'.
看起来格拉德尔是。 对于
java-version
,您必须修改OpenJDK的构建,使其返回“9-ea”或类似的内容

在构建OpenJDK 9时,以下配置选项应该可以做到这一点:

configure \
  --with-version-pre="ea" \
  --with-version-opt="" \
  ... your other options ...

我也有同样的问题,在我的例子中,它通过删除OpenJDK起作用:

sudo rm /var/lib/dpkg/info/openjdk-*
sudo apt-get purge openjdk-*
sudo rm /etc/apt/sources.list.d/*java*
sudo apt-get update
以及安装Oracle Java SDK:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
我知道这不是确切的答案(使用Gradle和OpenJDK1.9),但我设法继续在虚拟设备和智能手机上运行该应用程序。希望能有帮助

注意:我正在
ubuntu16.04

中运行
react-native:0.40.0
react-native cli:2.0.1
,希望这会有用: