4

Gradle デーモン (ツール API を介して Android Studio によって開始されたもの) が、コマンドラインから実行した場合とは異なる 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 実行可能ファイルはどのように選択されますか? どのように起動されますか?「About Android Studio」で報告されているように、Android Studio は期待されるバージョンの Java (1.8) を使用しています。

4

1 に答える 1

2

Gradle デーモンは、IntelliJ/Android Studio の実行に使用される JRE/JDK ではなく、プロジェクト用に選択した JDK を使用します。

この設定を変更するには、プロジェクトの [プロジェクト構造] ダイアログ ([ファイル] -> [プロジェクト構造]) を開き、JDK の場所を更新します。

ここに画像の説明を入力

于 2016-03-02T15:35:52.963 に答える