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