我遇到的问题是Gradle守护程序(由Android Studio通过工具API启动)使用的Java版本与通过命令行运行时不同.
我没有为JAVA_HOME设置任何值,java在我的路径中:
java -version
java version "1.8.0_72"
Java(TM) SE Runtime Environment (build 1.8.0_72-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode)
我写了一个调试任务:
task printDebug << {
println "command: " + System.getProperty("sun.java.command");
println "JAVA_HOME: " + System.env.'JAVA_HOME';
println "Java Version: " + org.gradle.internal.jvm.Jvm.current();
}
当通过Studio运行时,它会产生:
command: org.gradle.launcher.daemon.bootstrap.GradleDaemon 2.8
JAVA_HOME: null
Java Version: 1.7.0_71 (Oracle Corporation 24.71-b01)
但是,当通过命令行运行时,产生:
command: org.gradle.wrapper.GradleWrapperMain printDebug
JAVA_HOME: null
Java Version: 1.8.0_72 (Oracle Corporation 25.72-b15)
如何选择用于gradle守护程序的java可执行文件?它是如何推出的?对于它的价值,Android Studio正在使用预期版本的Java(1.8),正如“关于Android Studio”所报告的那样.
解决方法:
Gradle守护程序将使用您为项目选择的JDK,而不是用于运行IntelliJ / Android Studio的JRE / JDK.
要更改此设置,请打开项目的“项目结构”对话框(文件 – >项目结构),然后更新JDK位置:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。