gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 19:08:28 26 4
gpt4 key购买 nike

我最近一直在使用 Android Studio,并且能够开发应用程序。我通过 build.gradle 为外部库添加依赖项。一切似乎都很好。最近我只是想阅读有关 gradle 的内容,我注意到我需要将“GRADLE_HOME%\bin”设置为路径下的系统变量。

我认为我没有为 gradle 设置任何环境变量。老实说,我没有得到适当的指导,而且我对 gradle 缺乏很多了解。如果有人愿意解释它的用途,我将不胜感激。

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

最佳答案

我用它的代码来解释一下。通常在gradle下有一个名为wrapper的目录。如果使用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 (Users/your-name/.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

关于android - 为什么要为 GRADLE (Android Studio) 设置环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46275558/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com