Gradle简介
Gradle是一门基于groovy的DSL(特定领域语言)语言,也就是说它只能在某一特定领域使用,而不通用。
学习Gradle主要需要掌握下面三种语言
1 、Groovy语言
2 、Gradle DSL
3 、Android DSL
我们前面说了Gradle是一门基于groovy的DSL,可能很多童鞋会对这个有迷惑,第一感觉就是Gradle是一门独立的语言呀,如果你这么想就“误入歧途“了,因为我一开始也是这么迷糊的,当你了解过后,你就可以这么理解Gradle就是用groovy语言实现的一个框架,我们基于这个框架可以方便的去写构建脚本。
由于Android Studio已经采用并内嵌了Gradle作为构建脚本,所以我们简单的看下AS中的Gradle结构。
我们在AS中新建一个项目都会有这个目录
这个是什么呢?这个就是所谓的Gradle包装器了,这个4.1 呢就是Gradle的版本号,你想想框架也需要不断升级增加或者废弃掉一些功能呀,所以这个版本号越新表示表示Gradle的语法越新。
如何控制gradle版本号
这个版本号我们怎么控制呢?
打开gradle-wrapper.properties就可以在箭头处去指定修改Gradle版本号
我们也可以在在File选项中进行配置
Androidstudio项目结构
在Android Studio中整个项目结构是一个Project,里面的android应用以及library目录都是module,Project结构下主要如下:
.gitignore文件 :这个是git的忽略配置文件
build.gradle : 这个是整个工程的gradle脚本配置,这里面脚本内容会在所有的module上生效
gradle.properties : 这个文件可以配置jvm虚拟机一些参数,也可以调整设置内存大小。
local.properties :这个文件是配置sdk、ndk目录路径的,这个路径根据个人主机环境变量自动生成,所以我们需要把它添加到gitgore忽略文件中。
settings.gradle :这里面配置我们整个工程所有需要依赖到的module,包括android应用以及依赖到的library
AS首先执行Project的build.gradle脚本进行构建,这个脚本中所有的配置对所有module生效,接着会去执行setting.gradle脚本,首先去执行apply plugin: ‘com.android.application’ 应用目录下的build.gradle脚本进行构建,接着依次执行其他module下的build.gradle脚本,这就是AS主要工作流程。
我们打开Project下的build.gradle看下结构内容
这些都是Gradle DSL语法进行配置,dependencies 下面依赖的就是Android Gradle插件,这里我们必须添加,这个版本号跟上面Gradle版本号有相互对应关系,因为插件是基于Gradle版本写的,太高的Gradle版本对应太低的Gradle版本亦或相反都不支持,这里贴张官网的图看下就明白了。
https://developer.android.com/studio/releases/gradle-plugin.html