关于 Gradle 中的基础、Task 等知识,可以看我的上一篇文章。
Gradle 中的依赖
Gradle 中的依赖可以分为脚本文件依赖、插件依赖以及包依赖。
脚本文件依赖
随着项目结构的复杂,一个 build.gradle 已经无法满足我们的需求了,尤其是对依赖库版本的配置,如果多个 project 都需要用到某个依赖库,稍有不慎版本就会错乱,从而引发一些问题。
此时我们期望可以把所有用到的依赖库版本都配置在同一个文件中,build.gradle 使用这个文件中的版本来依赖相应的版本,Gradle 提供了 apply 方法来依赖其他文件。
apply from: 'config.gradle'
我们可以在 build.gradle 文件中添加上述代码来依赖 config.gradle 文件,这样就可以把这个文件中的设置应用到对应的 Project 中去,包括其中的 Task。
插件依赖
插件依赖是指依赖编译插件,最常见的是我们新建一个 Android 项目时,对应 module 的 build.gradle 文件第一行自动添加的安卓插件:
apply plugin: 'com.android.application'
与上一节的脚本文件依赖一样,都使用 apply 函数添加依赖,其中 plugin 后面跟的是插件的 ID 或者全限定类名,我们后面会介绍如何设置插件名。
通过上面的一行代码就可以把这个插件应用到当前的编译脚本中去,但对于自定义插件来说,我们还需要做一些其他的工作。
对于 Gradle 来说,依赖一个插件需要分如下三步:
1. 设置这个插件对应的仓库地址
我们首先应该设置一些仓库地址,告诉 Gradle 应该去哪里下载我们配置的这些插件和依赖包。
设置仓库地址通过 repositories 函数来实现,当我们创建好一个项目后,在根 build.gradle 文件中一般会自动添加如下两个依赖仓库:
allprojects {
repositories {
google()
jcenter()
}
}
上面代码就是在本项目中添加了两个仓库:google