gradle2.0笔记——让项目升级到gradle2.0

昨晚看到QQ群消息说gradle2.0发布了,今天去看了一下,确实是昨天发布的,为rc版本:Gradle 2.0-rc-2。于是决定试一下。

gradle可以在官网上下载,地址如下:http://www.gradle.org/release-candidate。不过由于我许多项目因为兼容性问题目前暂时用不了gradle2.0,所以现在只能对我个别私人项目使用。如果你想让所有项目都用gradle2.0的话,可以下载gradle2.0然后解压,修改对应的环境变量指向到gradle2.0的目录。然后项目中再修改build.gradle。而对于我的情况,我可以通过gradle wrapper的两种方法来升级。

可以更新wrapper的属性文件(默认是在at $项目目录/gradle/gradle-wrapper.properties中)的以下属性:

distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-rc-2-bin.zip

或者是添加以下任务:

task wrapper(type: Wrapper) {
  gradleVersion = "2.0-rc-2"
}

然后执行gradle wrapper命令去更新wrapper文件。

我在这里用第二种方法更新。执行之后会更新项目目录/gradle目录下的两个文件,其中gradle-wrapper.properties被修改为第一种方法中的内容。如下:

#       modified:   wrapper/gradle-wrapper.jar
#       modified:   wrapper/gradle-wrapper.properties
--- a/androidkit/gradle/wrapper/gradle-wrapper.properties
+++ b/androidkit/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Wed Apr 10 15:27:10 PDT 2013
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip
+#Tue Jun 24 20:40:58 CST 2014^M
+distributionBase=GRADLE_USER_HOME^M
+distributionPath=wrapper/dists^M
+zipStoreBase=GRADLE_USER_HOME^M
+zipStorePath=wrapper/dists^M
+distributionUrl=http\://services.gradle.org/distributions/gradle-2.0-rc-2-bin.z

这时再执行一下我们项目中的gradlew,它会开始下载gradle-2.0-rc-2-bin.zip并自动解压安装,然后初始化。如下:

$ gradlew
Downloading http://services.gradle.org/distributions/gradle-2.0-rc-2-bin.zip
................................................................................<pre code_snippet_id="404925" snippet_file_name="blog_20140624_5_1268031" name="code" class="plain">(好多点点点,这里省略)
Unzipping C:\Users\msdx\.gradle\wrapper\dists\gradle-2.0-rc-2-bin\49f3a49i7r03k2
4avrdr3vvgd6\gradle-2.0-rc-2-bin.zip to C:\Users\msdx\.gradle\wrapper\dists\grad
le-2.0-rc-2-bin\49f3a49i7r03k24avrdr3vvgd6

FAILURE: Build failed with an exception.

* Where:
Build file 'E:\code\git\androidkit\androidkit\build.gradle' line: 11

* What went wrong:
A problem occurred evaluating root project 'androidkit'.
> Gradle version 1.10 is required. Current version is 2.0-rc-2. If using the gra
dle wrapper, try editing the distributionUrl in e:\code\git\androidkit\androidki
t\gradle\wrapper\gradle-wrapper.properties to gradle-1.10-all.zip

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.

BUILD FAILED

Total time: 30 mins 42.175 secs

报错了。

错误中提到的build.gradle的第11行,正是我用到android-library插件的地方。看来该插件目前不支持gradle-2.0的版本。由于gradle2.0才刚出,未找到支持gradle2.0的android-library插件,这样我的项目暂时也没办法升级到gradle2.0了。有点白折腾,不过没关系,迟早会用到。

上一篇:gitlab+jenkins=自动化构建


下一篇:Java实现 LeetCode 394 字符串解码