Android plugin version 与 gradle version 的关系

Gradle是一种构建工具,它通过编写一个名为build.gradle的脚本文件对项目进行设置,再根据这个脚本对项目进行构建。

那么,如何来提供这个Gradle构建环境呢?
这就需要通过安装Gradle插件来使系统能支持运行Gradle。其实你完全可以把Gradle插件理解为类似ButterKnife一样的一个第三方库(工具),其不同版本所具有的功能是不同的,一般情况下,高版本兼容低版本。

一般,我们只需将两个都升级到最新版本即可。
如下,AS会提示我们将Android Plugin 升级到2.2.3,并将Gradle升级到2.14.1


查看、设置当前项目的【Android Plugin版本】与【Gradle版本】

1、配置Gradle插件(即Android plugin version)的版本
打开android 项目顶级目录中的build.gradle文件,只需更改这里的版本号即可【classpath 'com.android.tools.build:gradle:2.2.3'】


2、配置Gradle(构建工具)的版本
打开和app目录同级的gradle目录-->wrapper-->gradle-wrapper.properties
只需更改这里的版本号即可【distributionUrl = https\://services.gradle.org/distributions/gradle-2.14.1-all.zip】


3、同时配置Gradle插件以及Gradle构建工具的版本
File --> project structure --> project
上图中,gradle(构建工具)的版本为2.14.1,gradle插件的版本为2.2.3

如何更新Android plugin插件

安装AS后,AS就已经帮我安装了此AS版本发布时最新的Gradle插件,但Gradle插件是独立于AS的一个插件,所以它的更新也是与AS分开的。

当更新了AS后(AS是采用的增量更新方式),你可能会收到提示,建议更新Gradle插件到最新版本。
若选择接受更新(建议),则会自动帮你修改build.gradle中的插件版本,并自动下载最新版的插件,并在下载完成后自动重新构建项目。


你也可以基于你的项目编译要求,在项目的build.gradle中手动指定Gradle插件的版本。
当你修改了Gradle插件的版本后会提示你同步项目:

点击同步后就会自动下载Gradle插件,并在下载完成后自动重新构建项目。

PS:
Gradle插件文件被下载到了如下目录中(和在app的build.gradle中所添加的依赖的库,所下载的位置是一样的)
C:\Users\用户名\.gradle\caches\modules-2\files-2.1\com.android.tools.build\builder-model


如何更新Gradle构建工具

1、在AS安装目录下有一个gradle文件夹,【新建】项目时使用的就是此目录下的gradle(不要手动动他)


2、当我们【导入】一个已存在的项目时,如果此项目使用的的gradle版本与AS默认的不一致,AS将自动下载该项目所指定的gradle版本,并存放在 C:\Users\用户名\.gradle\wrapper\dists目录下
      AS判断gradle版本是否存在的顺序为:
  • 是否和AS安装目录中默认的gradle版本一致,一致则直接使用
  • 目录C:\Users\用户名\.gradle\wrapper\dists下是否有匹配的gradle版本,有匹配则直接使用
  • 无匹配则下载到此目录后使用

3、我们也可以在AS中自定义下载的gradle构建工具存放的路径

4、由于墙内下载gradle速度极慢,可到官网下载对应版本
拷贝下载的gradle-2.**-all.zip(不用解压)到【C:\Users\用户名\.gradle\wrapper\dists\gradle-2.**-all\随机码\】目录下即可

PS:
随机码根据 gradle 的版本而变化
打开项目时如需下载gradle,该随机码目录会自动生成,下载卡住时强制结束 as 进程,再去官网下载对应版本即可
gradle-2.1-all【488seql5pimt7vjvdsuqhh1ut】
gradle-2.2.1-all【c64ydeuardnfqctvr1gm30w53】
gradle-2.2-all【1vevkra640w3rb9hkuw50q5we】
gradle-2.4-all【6r4uqcc6ovnq6ac6s0txzcpc0】
gradle-2.8-all【ah86jmo43de9lfa8xg9ux3c4h】
gradle-2.10-all【a4w5fzrkeut1ox71xslb49gst】
gradle-2.11-all【ace7yl0a7udokebb27mt9s3qr】
gradle-2.12-all【8ywkdai6puj5z81fume4e7njw】
gradle-2.13-all【1b9wlm73elu4cqnbc0rk7r7qn】
gradle-2.14-all【t7wfomcrmv8dmyii9c9waem8】


5、通过gradle下载的依赖库相关的文件默认在【C:\Users\用户名\.gradle\caches\modules-2\files-2.1】目录下


Android plugin version 与 gradle version 版本匹配

Gradle与Gradle插件版本匹配
因为Gradle仍在发展,在不断更新,自然Gradle插件也需要不断更新版本才能提供对新版本Gradle的支持,那么它们之间的版本是如何对应的呢?

下表展示了Gradle插件与Gradle版本间更新的对应关系

Plugin version          Required Gradle version
1.0.0 - 1.1.3              2.2.1 - 2.3
1.2.0 - 1.3.1              2.2.1 - 2.9
1.5.0                         2.2.1 - 2.13
2.0.0 - 2.1.2              2.10 - 2.13
2.1.3+                       2.14.1+

Gradle所有的版本号及下载地址:http://services.gradle.org/distributions

AS Gradle构建工具与Android plugin插件【大全】的更多相关文章

  1. Android Gradle 构建工具(Android Gradle Build Tools)是什么?

    转载地址:http://mrfu.me/android/2015/07/17/New_Android_Gradle_Build_Tools/ 译者地址:[翻]一览新的 Android Gradle 构 ...

  2. 一览新的 Android Gradle 构建工具:新的 DSL 结构 和 Gradle 2.5

    译者地址:[翻]一览新的 Android Gradle 构建工具:新的 DSL 结构 和 Gradle 2.5 原文:First Look at New Android Gradle Build To ...

  3. Android NDK开发 Android Studio使用新的Gradle构建工具配置NDK环境(一)

    本文主要讲述了如何如何在Android Studio使用新的Gradle构建工具配置NDK环境,现在把相关的步骤整理出来分享给Android程序员兄弟们,希望给他们在配置NDK环境时带来帮助. 从An ...

  4. 大神所写的深度好文---Gradle 构建工具

    什么是构建工具? 我们大家都知道 Gradle 是一种构建工具,那么什么是构建工具呢? 网上一大堆的文字解释我觉得很难理解,这里我以咱们 Android 开发来举个例子吧. 我们以前开发都是用 Ecl ...

  5. [转]-用Gradle 构建你的android程序

    出处:http://www.cnblogs.com/youxilua  前言 android gradle 的插件终于把混淆代码的task集成进去了,加上最近,android studio 用的是gr ...

  6. gradle构建工具

    在使用android studio开发android程序时,as就是基于gradle进行构建的,我们只需要通过run就可以编译.打包.安装,非常方便,但是究竟gradle是什么呢?  一.java构建 ...

  7. [Gradle] Gradle 构建工具的未来

    转载地址:http://www.infoq.com/cn/news/2011/04/xxb-maven-6-gradle Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你 ...

  8. 用Gradle 构建你的android程序

    前言 android gradle 的插件终于把混淆代码的task集成进去了,加上最近,android studio 用的是gradle 来构建项目, 下定决心把android gralde 构建项目 ...

  9. Gradle 构建工具

    参考文章: 作者:ghui 链接:https://www.zhihu.com/question/30432152/answer/48239946 来源:知乎 著作权归作者所有.商业转载请联系作者获得授 ...

随机推荐

  1. 性能相差极大的SQL语句

    等价的SQL,性能差异极大,数据库里设计了一个字段存储日期时间,但不是datetime类型,用了时间戳(int 11), 下面有2个SQL语句用于查询数据库,一个是把时间戳转成date进行查询,一个是 ...

  2. shell条件测试

    文件状态测试-b filename : 当filename 存在并且是块文件时返回真(返回0)-c filename : 当filename 存在并且是字符文件时返回真-d pathname : 当p ...

  3. Find The Multiple(poj 1426)

    Description Given a positive integer n, write a program to find out a nonzero multiple m of n whose ...

  4. 稍加详细的ATR信息,将完善历史字节部分+

    http://blog.csdn.net/jennyvenus/article/details/2900697 //Reset 3B FB 13 00 00 81 31 FE 45 65 46 53 ...

  5. c# 集合ArrayList;特殊集合Stack、Queue

    一)  ArrayList 1.foreach遍历数组中各个元素,执行内部语句 2.  3. 4.  myarry.Clear();//将集合清空 bool b = myarry.Contains(3 ...

  6. Pearls DP

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6647   Accepted: 3241 Description In Pe ...

  7. POJ-1330--Nearest Common Ancestors(离线LCA)

    LCA离线算法 它需要一次输入所有的询问,然后有根节点开始进行深度优先遍历(DFS),在深度优先遍历的过程中,进行并查集的操作,同时查询询问,返回结果. 题意: 求A ,B两点的最近公共祖先 分析: ...

  8. 【模拟】NEERC15 E Easy Problemset (2015-2016 ACM-ICPC)(Codeforces GYM 100851)

    题目链接: http://codeforces.com/gym/100851 题目大意: N个人,每个人有pi个物品,每个物品价值为0~49.每次从1~n顺序选当前这个人的物品,如果这个物品的价值&g ...

  9. 【动态规划】Codeforces 698A & 699C Vacations

    题目链接: http://codeforces.com/problemset/problem/698/A http://codeforces.com/problemset/problem/699/C ...

  10. adb测试使用相关

    1.adb中文 无论是shell下显示中文.logcat输出中文乱码还是adb push/pull路径包括中文名,windows下都可以通过更改cmd窗口代码页为UTF-8解决: chcp 65001 ...