gradle常见概念讲解
1、Gradle
项目的构建工具,管理一个项目的依赖架包,性质和maven相似
一个基于groovy的项目打包工具
能复用很多的打包过程(tasks)
有一个中央仓库能找到你打包过程中需要依赖的库,并且声明使用很简单
2、Gradle wrapper
用于统一项目所使用的gradle版本,保证了所有开发人员在该项目使用同一个版本的编译工具进行编译(统一项目所使用的gradle版本)
在android studio中,选中你的项目,切换到project files视图,在项目根目录下就能看到gradle/wrapper/gradle-wrapper.properties 文件,配置大体如下:
#Mon Dec 28 10:00:20 PST 2015
#规定了解压后的gradle包放在哪里
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
#规定了gradle的zip包放在哪里
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
#规定了使用哪个版本的gradle编译项目,这个地址可以配置成服务器地址或者本地地址
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
根据此配置Gradle Wrapper会自动为我们下载合适的Gradle版本。默认情况下,下载位置是在$USER_HOME/.gradle/wrapper/dists,如果设置了GRADLE_USER_HOME环境变量,那么就会下载到GRADLE_USER_HOME/wrapper/dists下.
3、Gradle plugin
Gradle plugin ,俗称gradle插件,是android studio为了方便使用gradle进行配置和编译而开发的插件,它跟随gradle版本的变迁而变迁.
在android studio中,项目的根目录下的build.gradle中会配置如下代码:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
}
}
这个dependencies中的gradle:2.1.0代表的就是使用gradle 插件版本 2.1.0. 在编译过程中,如果gradle插件版本与gradle版本不匹配,编译就会失败.
目前在使用的gradle与gradle插件版本的对应关系如下
4、gradlew
gradlew: W意思是wrapper,它是一个用bash命令包装过的gradle编译启动脚本,里面会进行环境变量检测和设置,最终进行编译的还是gradle.
常见命令如:gradlew -v
查看当前项目下gradle版本
参考文案:
Gradle版本管理-升级与降级
Android Plugin for Gradle Release Notes
Android Studio 的Gradle一点理解, 查看gradle 版本和android 插件的版本
Gradle版本问题报错的处理方案