2016-02-26 24 views
4

我遇到了Gradle守護進程(由Android Studio通過工具API啓動)使用與通過命令行運行時不同的Java版本的問題。Android Studio如何啓動Gradle守護程序?

我沒有爲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)。

+0

什麼項目結構對話框(文件 - >項目結構)顯示JDK位置? –

+0

@SamDozor你贏了......我看了這麼多!作爲一名長期的Eclipse用戶,仍然習慣於IntelliJ。將您的評論轉換爲答案,以便我可以接受它! – jbluntz

回答

2

Gradle守護程序將使用您爲項目選擇的JDK,而不是用於運行IntelliJ/Android Studio的JRE/JDK。

要更改此設置,打開項目結構對話框(文件 - >項目結構)爲您的項目,並更新JDK位置

enter image description here