Android Studio:“使用默认的 gradle 包装器”与“使用可定制的 gradle 包装器”

Posted

技术标签:

【中文标题】Android Studio:“使用默认的 gradle 包装器”与“使用可定制的 gradle 包装器”【英文标题】:Android Studio: "Use default gradle wrapper" vs. "Use customizable gradle wrapper" 【发布时间】:2014-09-08 19:46:33 【问题描述】:

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 包装器”似乎可以解决这个问题。

【问题讨论】:

切换到“使用默认 gradle wrapper”似乎可以解决这个问题。这是正确的答案! 【参考方案1】:

查看 IntelliJ IDEA 帮助here:

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

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

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

您可以在 build.gradle 中设置 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,然后将其用于所有包装器执行。

【讨论】:

可能值得澄清的是,提供的 build.gradle 包装器配置示例是配置 gradle 包装器脚本和属性文件的 generation,而不是指定的替代方法已生成包装文件的项目的 gradle 版本 没错,提供的build.gradle wrapper配置示例配置了gradle wrapper的生成(使用gradlew wrapper :-) 执行)。一旦生成,它就会被使用 - 无论在build.gradle 中指定。) 我明白了。但是在阅读了您的答案后,我花了很多时间研究这个花絮。我试图建议对您的(非常好,谢谢!)答案进行编辑,以使该部分更加清晰。 你是对的。感谢您指出这一点,我更新了我的答案。并感谢您的积极反馈:-) 当您启动 gradlew 时,它会加载 gradle/wrapper/gradle-wrapper.properties 并检查定义的版本是否在本地可用。如果没有,它会下载它。然后它执行带有版本的 gradle jar。另一方面,包装器的代码仅用于将版本号写入gradle-wrapper.properties。因此,当您有逻辑时,此逻辑将被忽略,除非您在目标系统上执行构建任务之前调用 gradle wrapper

以上是关于Android Studio:“使用默认的 gradle 包装器”与“使用可定制的 gradle 包装器”的主要内容,如果未能解决你的问题,请参考以下文章

android studio setting 在哪

如何解决android studio2.3导入android studio2.1的问题

Android studio上找不到setting?

android studio v4包冲突

如何用android studio 编成app

如何手动升级android studio?