Android Studio:"使用默认gradle包装器"与"使用可自定义的gradle包装器"

Zen*_*nce 53 android gradle gradlew android-studio

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包装器"似乎可以解决此问题.

Chr*_*ipp 48

请在此处查看IntelliJ IDEA帮助:

  • 使用默认的gradle包装器意味着Gradle控制版本号
  • 使用可自定义的gradle包装器意味着IDEA控制版本号

gradle包装器.版本号存储在gradle/wrapper/gradle-wrapper.properties.因此,当您每次使用IDEA打开项目时选择"使用可自定义的gradle包装器"时,它将更改属性文件以调整您在IDEA项目中指定的包装器版本.

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

您可以设置它使用的摇篮里面的版本号build.gradle

// needs at least Gradle V1.7
wrapper {
    gradleVersion = '2.2.1'
}
Run Code Online (Sandbox Code Playgroud)

要么

// works with every Gradle version
task wrapper(type: Wrapper) {
    gradleVersion = '2.2.1'
}
Run Code Online (Sandbox Code Playgroud)

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

  • 我明白.但在阅读了你的答案后,我花了很多时间研究了这个问题.我试图建议对你的(优秀,谢谢!)答案进行编辑,以使该部分更清晰. (2认同)