前言:上一篇文章已经讲解了Gradle的语法篇,接下来我们要开始学习android-gradle-dsl了,不过我上一篇漏写了一节函数,这个我打算接下来补上,俗话说的好墨刀不误砍柴工,上一篇文章我们的刀已经磨好了,下面我们开始收获我们的成果了,或者说该应用实战了。
什么是AppExtension
其实就是一个队gradle配置android项目的一个拓展,对于android studio build.gradle 配置如下的属于AppExtension
apply plugin: 'com.android.application'
其实这里你可以认为是一个编译好的jar包,里面放置了一下方法,属性之类的东西,那么问题来了,这个jar报什么时候引入的呢,这里我们可以去看项目根目录的build.gradle 配置文件,如下
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
}
}
可能这个比喻不太恰当,但是我们可以先这样理解
AppExtension包含的常用属性
1. applicationVariants 这个属性是一个DomainObjectSet集合
DomainObjectSet<ApplicationVariant> applicationVariants
官方解释是:Returns a collection of build variants that the app project includes.(返回App构建变种的集合) 大概是这个意思哈,何为变种呢,其实我们可认为是不同版本的集合,比如测试版,uat版本,金丝雀版本,正式版本,可以有不同的logo,不同的app_name,这种就叫做变体或变种。
内部方法较多,这里就不一一展开了,我们来看下android studio里面常用的方法吧 如果赶兴趣课访问https://docs.gradle.org/current/javadoc/org/gradle/api/DomainObjectSet.html 查看更多方法及属性
android.applicationVariants.all { varian