Gradle 版本与 Gradle 构建工具版本之间的关系

9

我对gradle还不熟悉,有两个问题:

  1. gradle本身是一个构建工具,那么为什么需要在脚本中使用Android gradle工具 com.android.tools.build:gradle:0.7.+

  2. 安装的gradle版本(比如1.9)和Android gradle工具的版本(比如classpath 'com.android.tools.build:gradle:0.7.+'中的0.7.+)之间有什么关系?如果我将后者的版本更改为0.8.+,则构建失败,显示“找不到插件AppPlugin”。


请点击此处查看 https://dev59.com/5FUK5IYBdhLWcg3wuB14#51392464 - shizhen
2个回答

10

1) Gradle是一种构建工具,但需要特定的插件才能工作。 Android工具团队正在发布Gradle的Android插件。

com.android.tools.build:gradle:0.6.+ 
com.android.tools.build:gradle:0.7.+ 
com.android.tools.build:gradle:0.8.+ 

在这里您可以找到代码库: https://android.googlesource.com/platform/tools/base/

当前的开发分支是idea133。否则,您可以检查gradle_0.8/gradle_0.7分支。

2) gradle插件与gradle版本之间存在关联。例如:

com.android.tools.build:gradle:0.6.+  -> gradle 1.8
com.android.tools.build:gradle:0.7.+  -> gradle 1.9
com.android.tools.build:gradle:0.8.+  -> gradle 1.9/1.10

您可以在文件gradle/wrapper/gradle-wrapper.properties中找到项目中使用的Gradle版本。

此外,Gradle插件与IDE版本之间存在关联。例如:

Android Studio 0.3.x -> gradle-plugin 0.6
Android Studio 0.4.x -> gradle-plugin 0.7
Android Studio 0.4.3+ -> gradle-plugin 0.8

如果想获取更新的消息,可以查看这个链接:http://tools.android.com/recent

你还可以查看这篇更新的文章

Android Studio Gradle issue upgrading to version 0.5.0 - Gradle Migrating From 0.8 to 0.9 - Also Android Studio upgrade to 0.8.1

如果你更改了插件版本,请检查兼容性,然后点击与你的Gradle文件同步项目。如果需要,它将下载新的插件版本。


感谢您的解释。这也是一个答案,但我只能标记一个。 - EyeQ Tech
"gradle-plugin和gradle版本之间存在关联。" - 我在哪里可以找到这个信息? "gradle-plugin和IDE版本之间也存在关联。" - 我也在哪里可以找到这个信息? "如果您更改插件版本,请检查兼容性..." - 我该如何检查兼容性? - technophyle
@technophyle,您可以访问此链接了解更多信息:https://developer.android.com/studio/releases/gradle-plugin.html#revisions - Varun

3

我会尽力回答你的问题。

  1. 正如你所说,Gradle是一种构建工具,但你在第一个问题中提到的那行代码涉及到的是 Gradle Java 插件版本。Gradle有用于构建Java项目的插件。这些插件扩展了通用的构建工具Gradle,并可能提供额外的功能。你可以在这里阅读更多关于Gradle插件的信息。

  2. 如果你更改插件版本,导致构建失败的原因很简单,插件版本0.8不存在。Gradle版本和插件版本之间存在关系,开发人员必须保持这种关系。你只能使用已经发布并且与Gradle版本兼容的插件版本。希望第一个问题的答案已经解决了这个问题。


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