54

Android Studio 的 Gradle 选项之间究竟有什么区别:

Android Studio->Preferences->Gradle

Use default gradle wrapper (recommended)Use customizable gradle wrapper

背景:

我正在 Android Studio 中开发一个 Android 项目并使用 Gradle 包装器。

但是,当我每次我的团队成员使用 gui 命令同步 Android Studio 项目时,我使用 Android Studio 设置“使用可自定义的 gradlew 包装器”:

在此处输入图像描述

他们发现gradle/wrapper/gradle-wrapper.properties日期正在更新(并导致 git repo 上有额外的差异)。

切换到“使用默认的 gradle 包装器”似乎可以解决这个问题。

4

1 回答 1

49

在此处查看 IntelliJ IDEA 帮助:

  • 使用默认的 gradle wrapper 意味着 Gradle 控制版本号
  • 使用可定制的 gradle wrapper 意味着 IDEA 控制了 gradle wrapper 的版本号。

版本号存储在gradle/wrapper/gradle-wrapper.properties. 所以当你每次用IDEA打开项目都选择“使用可定制的gradle wrapper”时,它会改变属性文件来调整你在IDEA项目中指定的wrapper版本。

为了可重复构建(即使在不运行 IDEA 的连续构建服务器上),让 Gradle 控制版本号并使用默认的 gradle 包装器。

您可以在其中设置 Gradle 使用的版本build.gradle

// needs at least Gradle V1.7
wrapper {
    gradleVersion = '2.2.1'
}

或者

// works with every Gradle version
task wrapper(type: Wrapper) {
    gradleVersion = '2.2.1'
}

备注:不要忘记这个配置只用于包装器的生成。要激活它,您必须使用 执行生成gradlew wrapper。此任务更新gradle-wrapper.properties之后用于所有包装器执行的。

于 2014-11-25T09:16:58.327 回答