Android Gradle 插件工程根目录下 build.gradle 配置文件 ( 远程仓库配置 | 依赖配置 | 所有子模块配置 | task clean 任务 )
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Gradle 插件工程根目录下 build.gradle 配置文件 ( 远程仓库配置 | 依赖配置 | 所有子模块配置 | 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);
@Incubating
void 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 任务 )的主要内容,如果未能解决你的问题,请参考以下文章
Android Gradle 插件Gradle 构建机制 ⑤ ( 在 Android Studio 中查看 Android Gradle 插件源码 )
Android Gradle 插件Android Gradle 工程结构简介 ( Gradle 默认输出目录 | Gradle 配置目录 | gradlew 可执行文件 )
Android Gradle 插件Gradle 构建机制 ① ( 空白工程 Gradle 构建文件 | IntelliJ IDEA 工程构建文件 | Android Studio 工程构建文件 )
Android Gradle 插件Gradle 构建机制 ② ( Groovy 语言 DSL 特性 | settings.gradle 配置文件解析 | 配置子模块工程目录 | 顶层配置 )
Android Gradle 插件Android 依赖管理 ② ( 为工程配置依赖仓库 | 为工程构建添加依赖仓库 | classpath 引入依赖库 | 配置依赖仓库 )