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. 1.2机器学习基础下--python深度机器学习

    1. 机器学习更多应用举例: 人脸识别   2. 机器学习就业需求:      LinkedIn所有职业技能需求量第一:机器学习,数据挖掘和统计分析人才      http://blog.linked ...

  2. qt环境问题导致的编译错误

    /usr/include/qt5/QtCore/qprocess.h:245:24: error: missing binary operator before token "(" ...

  3. CentOS 6.3 卷组挂载硬盘教程 linux的VPS如何分区

    XEN架构VPS提供的容量一般都不会低于10G,但大部分基于Xensystem面板的VPS默认挂载10G硬盘(第一磁盘),剩下的容量(第二磁盘)就需要通过手动挂载才能扩充默认的10G容量了.默认装完系 ...

  4. 《C和指针》章节后编程练习解答参考——6.1

    <C和指针>——6.1 6.1 题目: 编写一个函数,在一个字符串中进行搜索,查找另一子字符串中出现的字符. 函数原型如下: char *find_char(char const *sou ...

  5. 误差逆传播(error BackPropagation, BP)算法推导及向量化表示

    1.前言 看完讲卷积神经网络基础讲得非常好的cs231后总感觉不过瘾,主要原因在于虽然知道了卷积神经网络的计算过程和基本结构,但还是无法透彻理解卷积神经网络的学习过程.于是找来了进阶的教材Notes ...

  6. nginx下搭建fastcgi的开发环境

    在上一章最简单理解CGI,FastCGI,WSGI  我们将fastcgi规范类比HTTP.下面我们通过一个案例更加明白fastcgi 我们使用的是 nginx作为前端 代理,我们包装了gevent_ ...

  7. Spring 配置自动扫描spring bean配置

    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w ...

  8. 【Java】Java Socket编程(1)基本的术语和概念

    计算机程序能够相互联网,相互通讯,这使一切都成为可能,这也是当今互联网存在的基础.那么程序是如何通过网络相互通信的呢?这就是我记录这系列的笔记的原因.Java语言从一开始就是为了互联网而设计的,它为实 ...

  9. SharePoint DataFormWebPart 通过Caml和xslt聚合内容

    以下是一个例子,SPDataSource用于查询内容,DatasourceMode属性指定查询范围(网站集,网站,列表),SelectCommand是Caml查询:Xsl展示内容,下面列子是用tabl ...

  10. C#验证码使用

    1.C#创建验证码 1.1 创建获取验证码页面(ValidateCode.aspx) <html xmlns="http://www.w3.org/1999/xhtml"&g ...