如何使 gradle.properties 机器独立

How to make gradle.properties machine independent

我在 2 台不同的机器上工作(家庭和工作)并且 运行 通过 GitHub 传递代码,效果很好,但我只是 运行当我将此代码添加到 gradle.properties 文件以修复 google 工作表的令人烦恼的 OAuth 问题时的机器依赖性:

org.gradle.java.home=C:\Program Files\Java\jdk1.8.0_131

org.gradle.java.home=C:\Program Files\Java\jdk1.8.0_77

现在我必须在两行之间切换才能让 Gradle 进行编译。需要检查我是否仍然需要它(因为我整理了密钥库文件等),但我也想知道是否有一个简单的解决方案来完成这项工作(例如 ifdef)。

显然,我猜想我可以在其中一台机器上更改目录名称,但仍然很好奇如何在 Studio 中解决这个问题。

尝试从属性文件中删除该行。如果失败,请尝试在每台机器上设置 JAVA_HOME。

有很多相关的questions

您可以尝试在 gradle forums.

上提问

让我们从 the Gradle docs 的引述开始:

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.

因此,默认情况下,您不需要此项目 属性(这就是它们在 Gradle 中的名称)。

但是,可能有一些原因需要指定 Java 目录。对于这个特定项目 属性,您可以遵循 Ray Tayeks 的建议并使用 JAVA_HOME 环境变量(在两个系统上)。但还有另一种方法,可用于任何项目属性(也可用于所谓的系统属性):

gradle.properties 个文件可以位于文件系统的不同位置。您的文件位于项目目录中,因此,它们包含在您的 VCS 中。您可以将它们/它用于与项目相关的属性。另一个位置是 Gradle 用户主目录,默认情况下是您个人文件夹中的 .gradle 文件夹。此文件夹不受版本控制,因此只需在其中定义 属性。