Android知识要点整理(21)----Gradle 之创建任务和插件

本文详细介绍了Gradle中的任务创建,包括不同方式创建任务及其执行阶段的区别,以及如何设置任务依赖。此外,还探讨了自定义任务实例,如从属性文件读取密码,并定制构建过程,如重命名APK和动态创建任务。最后,文章讲解了自定义插件的实现,包括创建、打包和应用到项目中的步骤。
摘要由CSDN通过智能技术生成

1.定义Tasks

先看创建Tasks的代码示例:

//方式1
task hello

//方式2
task hello {
    println 'Hello, world!'
}

//方式3
task hello << {
    println 'Hello, world!'
}

//方式4
task(hello) << {
println 'Hello, world!'
}

//方式5
task('hello') << {
println 'Hello, world!'
}

//方式6
tasks.create(name: 'hello') << {
println 'Hello, world!'
}

上面六种方式都创建了一个名为 hello的task.但是他们是有区别的,方式1是个空任务,它不会干任何事;方式2和方式3在代码上看就差一个双箭头,但是它们是有本质区别的;方式2中,打印“hello,world“字符串的语句会在执行任务之前运行,而方式3会在执行任务的时候打印出”hello,world”,也就是说**方式2中的语句实在configuration阶段执行的,方式3中语句则是在execution阶段执行的;方式4、5、6是方式3的不同表现形式,本质上是一样的。看如下代码执行的结果:

task hello << {
    println 'Execution'
}
hello {
    println 'Configuration'
}

执行结果如下:

$ gradlew hello
Configuration
:hello
Execution

再看一种比较复杂的定义Task的方式,这种方式使用了doFirst 和doLast 代码块,它可以控制代码执行的先后顺序:

task mindTheOrder {
    println 'Configuration'

    doFirst {
        println 'Not really first.'
    }

    doFirst {
        println 'First!'
    }

    doLast {
        println 'Not really last.'
    }

    doLast {
        println 'Last!'
    }
}

执行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值