如何在通过命令行构建 Android gradle 文件期间设置 Java 主路径?

How to set Java home path during building Android gradle file via command line?

我想在通过命令行构建 Android gradle 期间指定 Java 主路径;例如,

gradle build -d path of jdk

可能吗?

根据gradle documentation

The following properties can be used to configure the Gradle build environment:

...

org.gradle.java.home Specifies the Java home for the Gradle build process. The value can be set to either a jdk or jre location, however, depending on what your build does, jdk is safer. A reasonable default is used if the setting is unspecified.

org.gradle.jvmargs Specifies the jvmargs used for the daemon process. The setting is particularly useful for tweaking memory settings. At the moment the default settings are pretty generous with regards to memory.

换句话说,您只需 运行

gradle build -Dorg.gradle.java.home=<java home path>

根据您想要完成的任务,以下方法之一应该可行。

按照 Amnon Shochot 的建议,设置 -Dorg.gradle.java.home 标志。在大多数情况下,这可能更可取。

如果您想在整个过程中使用特定的 JDK,请在执行 gradle.

之前适当地设置 JAVA_HOME 变量
$ export JAVA_HOME=/usr/local/specialJava/
$ gradle build

如果您不想更改环境,请尝试将以下内容添加到您的 build.gradle 脚本中。它应该只影响用于编译 Java 代码的编译器,没有其他影响。所以 Gradle 不会 运行 在这个特定的 JDK 中,但它将用于编译。

tasks.withType(JavaCompile) {
    options.fork = true
    options.forkOptions.executable = "/usr/local/specialJava/bin/javac"
}

(从 here 窃取的最后一个选项)