构建配置文件 build.gradle 是纯文本文件,使用领域特定语言 (DSL) 以 Groovy 描述和操纵构建逻辑。
Groovy 是一种适用于 Java 虚拟机 (JVM) 的动态语言,以下来介绍基础语法。
变量
在groovy 中,没有固定的类型,变量可以通过def关键字引用。
单引号字符串不会对 $ 符进行转义,双引号字符串支持插值操作,会对 $ 符转义求值再替换。
方法
通过def关键字定义一个方法,如果不指定返回值,默认返回最后一行代码的值。
类
通过class关键字定义一个类。
默认类和方法都是pulic的,类的字段都是private的;
通过new关键字得到类的实例;
在类中声明的字段都默认会生成对应的setter,getter方法;
map、collections
定义列表:List list = [value1, value2]
定义map:Map map = [key1:value1, key2:value2]
闭包
闭包可以理解为就是 Java 中的匿名内部类,支持类似lamda形式的语法调用。
如果只有一个参数,可以省略这个参数,默认使用it作为参数。
如果方法的最后一个参数是闭包,则闭包可以放在圆括号外面。
在配置文件里,android,dependencies这些后面紧跟的代码块,都是一个闭包。
def name = 'World'
def greeting = "Hello, $name!"
//函数
def square(def num) {
num * num
}
//lamda
def square = { num ->
num * num
}
//省略参数
Closure square = {
it * it
}
//调用 apply() 方法,传入一个 map 值,key 为plugin,value为'com.android.application'
apply plugin: 'com.android.application'
project.apply([plugin: 'com.android.application'])