Как Android Studio запускает демона Gradle?
Я сталкиваюсь с проблемой, когда демон 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)
Как выбран исполняемый файл java для демона gradle? Как это запускается? Для чего это стоит, Android Studio использует ожидаемую версию Java (1.8), о чем сообщает 'About Android Studio'.
1 ответ
Демон Gradle будет использовать JDK, который вы выбрали для своего проекта, а не JRE/JDK, который используется для запуска IntelliJ/Android Studio.
Чтобы изменить этот параметр, откройте диалоговое окно " Структура проекта " ("Файл" -> "Структура проекта") для своего проекта и обновите расположение JDK: