我似乎无法将Gradle与OpenJDK 1.9一起使用。
当我运行以下命令时:
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)
我有什么想法可以解决这个问题吗?
答案 0 :(得分:1)
您使用的是哪个版本的gradle?
cd android
./gradlew -version
我认为确定java 1.9版本的错误已在Gradle 2.10中修复。
另一个选择是尝试欺骗Gradle可以解析的java.version
export JAVA_TOOL_OPTIONS='-Djava.version=1.9'
react-native run-android
答案 1 :(得分:1)
这似乎与您构建的OpenJDK 9和Gradle不兼容。
您的OpenJDK版本是:
openjdk version "9-internal"
看来Gradle无法解析它:
Could not determine java version from '9-internal'.
看起来gradle是prepared to accept 9-ea
, but not 9-internal
。
你将不得不修改你的OpenJDK版本,让它返回" 9-ea"或java -version
的类似内容。
构建OpenJDK 9时,以下配置选项可以解决这个问题:
configure \
--with-version-pre="ea" \
--with-version-opt="" \
... your other options ...
答案 2 :(得分:-1)
我有同样的问题,在我的情况下,它通过删除OpenJDK起作用:
var auditEntry = new AuditEntity
{
EntryId = Guid.NewGuid(),
Action = uri.ToString(),
GeoLocation = geoLocation,
Time = DateTime.Now
};
并安装Oracle Java SDK:
sudo rm /var/lib/dpkg/info/openjdk-*
sudo apt-get purge openjdk-*
sudo rm /etc/apt/sources.list.d/*java*
sudo apt-get update
我知道这不是确切的答案(使用Gradle with OpenJDK 1.9),但我设法继续在虚拟设备和智能手机中运行应用程序。希望它有所帮助。
注意:我在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
react-native: 0.40.0
和react-native-cli: 2.0.1