引言

什么是Gradle?什么是Gradle插件?

build.gradle中依赖的classpath 'com.android.tools.build:gradle:2.1.2'和gradle-wrapper.properties中的distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip有什么区别?

Android studio 更新后,Gradle和Gradle插件间版本该如何对应?

你是不是也有这样的困惑?读完本文后,或许对你有点点帮助.


名词解释:

Gradle插件:该名称的英文是:Android Plugin for Gradle


Gradle和Gradle插件区别

我们知道Android的构建系统使用Gradle来构建应用.Gradle是一种构建工具,它使用一种基于Groovy的特定领域语言来申明项目设置.

上面是Android developer上对Gradle的解释.听起来有些拗口.我们可以这么理解:

软件开发过程不仅仅是编写代码,还涉及到对项目的管理,比如:添加项目的依赖,打包,签名,发布等一系列操作,如果你每天都在做这些操作,那有没有想过这些操作可以像代码一样被描述出来,供我们复用以及自动运行.

没错,这就是Gradle替我们做的事!Gradle通过编写一个名为build.gradle的脚本文件对项目进行设置,再根据这个脚本对项目进行构建.

那么,如何来提供这个Gradle构建环境呢?这就需要通过安装Gradle插件来使系统能支持运行Gradle.安装Android Studio后就已经帮我安装了Gradle插件.但Gradle插件是独立于Android Studio运行的,所以它的更新也是与Android Studio分开的.

更新Gradle插件

当更新了Android Studio,你可能会收到提示要求更新Gradle插件到最新版本.你可以选择接受更新,也可以基于你的项目编译要求来手动指定版本.

指定Gradle插件版本有两种方式:

  • 在Android Studio中选择File > Project Structure > Project菜单;
  • 在顶层build.gradle中修改配置.

下面的例子在build.gradle中设置Gradle版本为2.2.0

buildscript {  ...  dependencies {    classpath 'com.android.tools.build:gradle:2.2.0'  }}
注意:不应该动态指定版本号,如"com.android.tools.build:gradle:2.+".这样做可能会导致意外的版本更新,并且会给解决版本差异带来困难.

如果指定的版本没有下载下来,那么项目在下次构建的时候Gradle会再去下载.或者你也可以点击Tools > Android > Sync Project with Gradle Files去下载.

更新Gradle

当更新了Android Studio,系统会提示要求更新Gradle到最新版本.同更新Gradle插件一样,你可以选择接受更新,也可以基于你的项目编译要求来手动指定版本.

更新Gradle也有两种方式:

  • 通过选择File > Project Structure > Project来指定Gradle版本
  • gradle/wrapper/gradle-wrapper.properties文件中编辑Gradle引用地址

gradle/wrapper/gradle-wrapper.properties文件中编辑Gradle引用地址如下:

...distributionUrl = https\://services.gradle.org/distributions/gradle-2.14.1-all.zip...

Gradle与Gradle插件版本匹配

因为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-wrapper.properties中配置的是的Gradle的版本.

build.gradle中的依赖指定的是Gradle插件的版本.

更多相关文章

  1. android: 大量开源项目源代码分享
  2. Android进阶之android应用的SDK版本之间的切换
  3. 飞速浏览器3.0.0 webview 练手项目.
  4. cordova 插件 开发添加 android 权限
  5. ffmpeg3.3 编译 android 系统版本 32位 和64 位 动态库
  6. Android 140款Android开源优秀项目源码
  7. 实时获取Android 各版本电量的统一方法
  8. 【国外转】Spring Android and Maven (Maven Integration for Ec

随机推荐

  1. Android中new Notification创建实例的最
  2. Android之解析XML实例
  3. Android中跟Touch事件
  4. [Android(安卓)基础] -- 深入理解 Androi
  5. 转载: Android 实现左侧列表右侧商品详情
  6. Android中使用ViewPager实现图片的切换
  7. android os编译全过程
  8. Android studio -- java.lang.nullpointe
  9. 获取android设备的IP地址
  10. Android添加桌面快捷方式的简单实现