为什么要为GRADLE(Android Studio)设置环境变量?

时间:2017-09-18 09:10:36

标签: android gradle

我最近一直在使用Android Studio,我可以开发应用程序。我通过build.gradle为外部库添加依赖项。一切似乎都很好。最近我只是尝试阅读gradle,我注意到我需要设置" GRADLE_HOME%\ bin"到路径下的系统变量。

我不认为我为gradle设置了任何环境变量。 诚实,我没有适当的指导,我缺乏关于gradle的知识。 如果有人愿意解释其目的,我会感激不尽。

编辑 - 我已经设置了JAVA_HOME,我的问题与此无关。我无法找到关于GRADLE_HOME设置的任何内容,但它似乎并没有影响我使用android studio(涉及gradle)的工作。因此我想知道GRADLE_HOME以何种方式有用。

1 个答案:

答案 0 :(得分:2)

让我通过它的代码来解释。通常在wrapper下有一个名为gradle的目录。如果您使用JD-GUI阅读gradle-wrapper.jar,则可以找到GradleUserHomeLookup.class

public class GradleUserHomeLookup{

  public static final String DEFAULT_GRADLE_USER_HOME = System.getProperty("user.home") + "/.gradle";
  public static final String GRADLE_USER_HOME_PROPERTY_KEY = "gradle.user.home";
  public static final String GRADLE_USER_HOME_ENV_KEY = "GRADLE_USER_HOME";

  public static File gradleUserHome(){
    String gradleUserHome;

    if ((gradleUserHome = System.getProperty("gradle.user.home")) != null) {
      return new File(gradleUserHome);
    }

    if ((gradleUserHome = System.getenv("GRADLE_USER_HOME")) != null) {
      return new File(gradleUserHome);
    }
    return new File(DEFAULT_GRADLE_USER_HOME);
  }
}
  • 如果gradle.user.home存在,则会返回。
  • 如果没有gradle.user.home但您已设置GRADLE_USER_HOME,则会返回GRADLE_USER_HOME
  • 如果gradle.user.homeGRADLE_USER_HOME都不存在,则会返回DEFAULT_GRADLE_USER_HOME(用户/您的姓名/ .gradle)。

这是一个例子。在gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

注意配置gradle's version = 3.3的最后一行。在Android-Studio中,gradle命令来自wrapper/dists/your-version/xxxx/gradle-3.3/bin/。如果没有version,则会下载gradle并将其安装在wrapper/dists/...中。 Install.class中的更多详细信息。

修改

您可以找到更多信息here