文章目录

  • 一、工程根目录下 build.gradle 配置文件
    • 1、基本作用
    • 2、远程仓库配置
    • 3、依赖配置
    • 3、所有子模块配置
    • 4、task clean 任务

Android Plugin DSL Reference 参考文档 : https://google.github.io/android-gradle-dsl/2.3/

一、工程根目录下 build.gradle 配置文件


1、基本作用

根目录下的 build.gradle 是 Android 工程的默认的顶层 Gradle 构建脚本 , 注意是根目录下 , 与 Module 目录下的 build.gradle 进行区分 ;

该脚本中的配置应用于所有子工程 , 配置如下类型的信息 :

  • 代码仓库配置 :
    repositories {google()mavenCentral()jcenter() // Warning: this repository is going to shut down soon}
  • Android Gradle 插件版本依赖 : 配置的依赖会从上面的 google() , mavenCentral() , jcenter() 仓库中查找 ; 一般是从 jcenter() 中查找 ;
    dependencies {classpath "com.android.tools.build:gradle:4.2.1"// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
  • 其它指令 :
task clean(type: Delete) {delete rootProject.buildDir
}

2、远程仓库配置

可配置的仓库都定义在 RepositoryHandler 接口中 , 可以指定 jcenter , ivy , flatDir , google , mavenCentral , mavenLocal , maven 等类型的仓库 ;

public interface RepositoryHandler extends ArtifactRepositoryContainer {FlatDirectoryArtifactRepository flatDir(Map<String, ?> var1);FlatDirectoryArtifactRepository flatDir(Closure var1);FlatDirectoryArtifactRepository flatDir(Action<? super FlatDirectoryArtifactRepository> var1);ArtifactRepository gradlePluginPortal();ArtifactRepository gradlePluginPortal(Action<? super ArtifactRepository> var1);MavenArtifactRepository jcenter(Action<? super MavenArtifactRepository> var1);MavenArtifactRepository jcenter();MavenArtifactRepository mavenCentral(Map<String, ?> var1);MavenArtifactRepository mavenCentral();MavenArtifactRepository mavenCentral(Action<? super MavenArtifactRepository> var1);MavenArtifactRepository mavenLocal();MavenArtifactRepository mavenLocal(Action<? super MavenArtifactRepository> var1);MavenArtifactRepository google();MavenArtifactRepository google(Action<? super MavenArtifactRepository> var1);MavenArtifactRepository maven(Closure var1);MavenArtifactRepository maven(Action<? super MavenArtifactRepository> var1);IvyArtifactRepository ivy(Closure var1);IvyArtifactRepository ivy(Action<? super IvyArtifactRepository> var1);@Incubatingvoid exclusiveContent(Action<? super ExclusiveContentRepository> var1);
}

3、依赖配置

在依赖配置中 , 最常见的就是配置 Android Gradle 插件版本 ;

依赖配置如下 :

buildscript {dependencies {classpath "com.android.tools.build:gradle:4.2.1"}
}

在 dependencies 下的 classpath 是依赖分组 , 常用的 implementation 依赖方式表示编译并打包 ;

3、所有子模块配置

所有子模块配置 , 最常见的是为所有子模块配置远程仓库 ;

allprojects {repositories {google()mavenCentral()jcenter() // Warning: this repository is going to shut down soon}
}

4、task clean 任务

最后定义了一个 task 任务 , type 表示任务类型 , 该任务是在 Delete 任务的基础上 , 执行额外附加的任务 ;

task clean(type: Delete) {delete rootProject.buildDir
}

该任务的作用是 , 删除根目录下的 build 目录 ;

【Android Gradle 插件】工程根目录下 build.gradle 配置文件 ( 远程仓库配置 | 依赖配置 | 所有子模块配置 | task clean 任务 )相关推荐

  1. 【Android Gradle 插件】Module 目录下 build.gradle 配置文件 ( android 闭包块配置 | AppExtension 扩展类型参考文档 )

    文章目录 一.Module 目录下 build.gradle 配置文件 1.android 闭包块配置 2.AppExtension 扩展类型参考文档 Android Plugin DSL Refer ...

  2. 【Android Gradle 插件】Module 目录下 build.gradle 配置文件 ( plugins 闭包代码块中引入插件 | PluginAware#apply 方法引入插件 )

    文章目录 一.Module 目录下 build.gradle 配置文件 1.plugins 闭包代码块中引入插件 2.PluginAware#apply 方法引入插件 Android Plugin D ...

  3. project下build.gradle文件和module下buil.gradle

    前言 自己写了几个gradle文件模板,如果还在使用Support包开发的可以参考. 定义一个全局统一配置文件config.gradle Project目录下的config.gradle /*** 全 ...

  4. 各个 Android Gradle 插件版本所需的 Gradle 版本

    下表列出了各个 Android Gradle 插件版本所需的 Gradle 版本. 要获得最佳性能,您应该使用 Gradle 和插件这两者的最新版本. 插件版本 所需的 Gradle 版本 1.0.0 ...

  5. 【Android Gradle 插件】Gradle 映射文件 ( settings.gradle 映射为 Settings 类 | build.gradle 映射为 Project 类 )

    文章目录 一.settings.gradle 映射为 Settings 类 二.build.gradle 映射为 Project 类 Android Plugin DSL Reference 参考文档 ...

  6. 关于Android Studio Arctic Fox 无法在 build.gradle(Project) 中添加第三方Maven仓库的解决方案

    问题描述 在 Android Studio Arctic Fox 版本中创建项目,原本应该在 build.gradle(Project) 中配置第三方 Maven 仓库,手动配置后居然报错: 1: T ...

  7. android 编译时解析xml布局,android – 在xml布局中引用build.gradle versionName属性

    根据 http://tools.android.com/tech-docs/new-build-system你可以直接从毕业生创造资源,所以放 android { ... defaultConfig ...

  8. Android基础教程(十)build.gradle文件

    gradle是一个工具,同时它也是一个编程框架.使用这个工具可以完成app的编译打包等工作. 一.defaultConfig android {compileSdkVersion 30buildToo ...

  9. 关于如何修改android系统system文件夹下build.prop文件参数

    最近在做一个新项目时,由于公司沟通上的一些问题,导致sdk供应商提供的版本没办法在手机上使用(因为sdk会识别设备名称,所以只能在我们公司的设备上使用),所以没有办法在手机app中使用,由于沟通成本和 ...

最新文章

  1. localhost与127.0.0.1的概念和工作原理之不同
  2. JavaScript setTimeout函数
  3. 07.必须修正致命弱点摘录——卓越领导者
  4. 聊一聊Yarp结合Nacos完成服务发现
  5. 【codeforces 798B】Mike and strings
  6. foundation 框架_来自Linux Foundation,DockerCon,Facebook,Google等的开源新闻
  7. 资深程序员的书单 - 转载自@Axb
  8. 网络地址转换协议NAT详解
  9. 线性代数-坐标系变换
  10. windows如何设置新建文本文档快捷键
  11. 怎样看oracle删掉没有,肿么查看以前Oracle卸载干净没
  12. windows下cmd批量复制文件
  13. linuxshell如何实现进度条效果
  14. 白话大数据开发之Azkaban问题一
  15. 给了一串数字:218916754,根据下面规则可以找出扣扣号码:首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾......如此循环,知道剩下最后
  16. java 异常恢复_Java学习之异常处理
  17. uniapp 开发微信公众号H5 隐藏右上角扩展按钮
  18. Jave虚拟机划分的三个代: 年轻代、年老代和持久代
  19. NAS 详细搭建方案 - 安装Windows Server
  20. 数据分析——逻辑树模式

热门文章

  1. equals()方法详解
  2. HDU ACM 1065 I Think I Need a Houseboat
  3. Oracle 密码文件
  4. requests与urllib.request
  5. freebsd 域名服务器
  6. U盘安装Linux CentOS 6.5 64位操作系统(来自互联网)
  7. (积累)java里的套接字
  8. C# 泛型可能导致的装箱操作陷阱
  9. python中 __name__及__main()__的妙处02
  10. python-jsonrpc框架实现JsonRPC协议的web服务