GradlegradleAndroid开发经验谈

Gradle学习-7/19笔记

2016-07-19  本文已影响113人  璟龙

继上篇Gradle学习-7/18笔记

Project对象

Project属性

1. 访问属性

Gradle执行项目的build文件(build.gradle),生成一个Project对象。你写的脚本所使用的属性和方法都会被委托给这个Project对象。我们能够在我们的脚本中直接使用Project的属性和方法。
例子:

name="Hello" //委托给Project.name
reportsDir = file('reports') //委托给Project.file()

2. 属性域

一个Project具有5个属性域(scope),通过属性域可以很方便地访问属性。以下是5个属性域:

属性读写方式:

读属性或写属性时,project都会按顺序从上述域中搜索,在搜索到的第一个域中读出或写入。

3. Extra Properties

所有的Extra Properties必须通过"ext"命名空间来定义,即定义的时候加前缀"ext."。一旦一个属性通过这种方式定义后,在该project下(包含其子工程sub-projects)可以直接访问。

示例代码

//初始化需要"ext."
println "init"
project.ext.prop1 = 'hello'
task doStuff{
     println "doStuff Start"
      //再次访问不需要前缀
     println prop1
     prop1 = 'doStuff_hello'
     println "doStuff End"

}
allprojects{
     println prop1
}

结果

init
doStuff Start
hello
doStuff End
doStuff_hello
上一篇 下一篇

猜你喜欢

热点阅读