// Top-level build file where you can add configuration options common to all sub-projects/modules.// buildscript该闭包用于给该脚本本身的配置buildscript { // buildScript块的repositories主要是为了Gradle脚本自身的执行,获取脚本依赖插件 repositories { /** 声明使用Google和jcenter的代码托管仓库 大部分的Android开源项目都会将代码托管到这两个仓库 声明这两个仓库之后,需要引入开源项目而本地缓存没有的情况下 便会按照先后顺序去这些仓库寻找,从仓库将相关项目下载到本地**/ // 但是因为网络原因,这两个仓库对于国内来说不太友好,所以通常使用阿里云等镜像站代替使用 // 按需求添加如下几行即可 // maven { url: 'https://maven.aliyun.com/repository/public/' } // maven{ url: 'https://maven.aliyun.com/repository/google/' } // maven{ url: 'https://maven.aliyun.com/repository/jcenter/' } google() jcenter() } //依赖闭包 dependencies { // 使用classpath声明了一个Gradle插件 // 因为gradle并不是专门用于Android的构建工具,因此声明 // 声明引入"com.android. tools.build:gradle:4.0.1"这个插件,表明这是要构建Android项目 classpath "com.android.tools.build:gradle:4.0.1" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }}// 用于多项目构建,为多项目进行共同配置,对所有项目生效,而每一个子项目中又可以进行单独配置allprojects { // allprojects块的repositories用于多项目构建,为所有项目提供共同所需依赖包。 // 而子项目可以配置自己的repositories以获取自己独需的依赖包。 repositories { google() jcenter() }}// 运行gradle clean时,执行此处定义的task// 该任务继承自Delete,删除根目录中的build目录// 相当于执行Delete.delete(rootProject.buildDir)// gradle使用groovy语言,调用method时可以不用加()task clean(type: Delete) { delete rootProject.buildDir}