【发布时间】:2016-02-26 22:18:51
【问题描述】:
我遇到了一个问题,即 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”所报告的那样,Android Studio 正在使用预期的 Java 版本 (1.8)。
【问题讨论】:
-
项目结构对话框(文件->项目结构)针对 JDK 位置显示什么?
-
@SamDozor 你赢了......我到处寻找那个设置!作为一个长期的 Eclipse 用户,仍然习惯于 IntelliJ。将您的评论转换为答案,以便我接受!
标签: android android-studio gradle android-gradle-plugin gradle-daemon