如何在Android Studio中正确升级Gradle?

3
大多数在线资源都说,你只需更新分发URL即可更新gradle。这是Stack Overflow和其他所有网站的答案。 Codepath也仅表示URL更新就足够了:https://guides.codepath.com/android/Getting-Started-with-Gradle#upgrading-gradle 我在几个答案中看到过零散的信息,要升级gradle必须从命令行运行gradle update脚本./gradlew wrapper --gradle-version x.x.x
我没有找到说明“如何更新gradle”的文档。在gradle的网站上,您可以看到,“这是如何添加gradle wrapper的”。我想我不确定什么足够了,而且我觉得很多人做法都是错误的,可能没有从gradle的性能和速度提高中受益。
有关此事的官方答案吗?是否有工具团队的人想要发表评论?
1个回答

2
如果您的项目正在使用 Gradle 包装器,则 Android Studio 将自动使用它。通过包装器升级 Gradle 的正确方法是运行以下命令:
$ ./gradlew wrapper --gradle-version x.x.x --distribution-type all

--distribution-type选项自Gradle 3.1版本起得到支持,允许使用all分发版而不是默认的bin分发版,以获得适当的IDE支持Gradle构建文件。

如果您不确定最新版本是什么,或者您正在从头开始设置项目,您可能会对我的gradle_bootstrap.sh助手脚本感兴趣,该脚本能够安装/更新Gradle包装器而无需安装Gradle。使用方法如下:

$ gradle_bootstrap.sh all

gradle-wrapper.properties中仅更新Gradle分发URL,如官方文档所述,在gradle-wrapper.jar本身被更新的情况下是不够的。
最后,如果您尚未使用包装器,Android Studio将提示“单击“确定”使用Gradle包装器,或单击“取消”手动设置本地Gradle分发路径”,后者可以指向作为其安装的一部分提供的Gradle版本。 在Android Studio 2.2.3的示例中,这将是Gradle 2.14.1,它有点过时。

谢谢你的回答。你知道是否有任何文档显示这个答案,还是我只是眼瞎了? - EGHDK
这个链接说“编辑gradle/wrapper/gradle-wrapper.properties文件中的Gradle分发引用”是正确的方法。然而,正如我在答案中所描述的那样,我不建议这样做,因为包装器本身不会通过这种方式得到更新。 - sschuberth
好的。因为据我所知,你总是需要使用包装器。1. 使用包装器并将其提交到源代码控制中是有意义的,对吗?2. 如果您设置本地gradle的路径...那不也叫做“包装器”吗? - EGHDK
有趣。我想我从未完全理解为什么人们称它为Gradle包装器。因此,包装器是在您的项目中的Gradle,而完整的Gradle或者只是Gradle则是您计算机上的Gradle。 - EGHDK
基本上是的。我会这样表述:Gradle包装器是一个“安装程序”,用于引导完整的Gradle安装。第一次运行包装器时,它将下载指定的完整Gradle分发版。随后对包装器的调用将只是作为“代理”,并将所有调用转发到先前安装的完整Gradle分发版。 - sschuberth
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接