Gradle是什么
Gradle是基于jvm的开源构建工具,使用脚本语言groovy或kotlin开发,是android官方构建工具.
1.Gradle环境搭建
1.1下载Gradle,下载地址https://gradle.org/releases/
1.2解压并配置环境变量,测试环境是否配置成功,命令行输入gradle -v
2.Gradle的Helloworld
在某个目录下创建build.gradle文件,build.gradle文件是Gradle默认的脚本执行文件,命令行运行Gradle命令时会在当前目录下查找build.gradle文件并执行构建
task hello {
doLast{
println("hello world")
}
}
task任务和action动作是Gradle的重要元素.task是Gradle可执行最小原子性操作.doLast是最后执行的action,当任务执行完后会回调doLast
3.Gradle的任务
gradle的任务包括创建任务,任务依赖,动态创建任务,任务分组和多任务执行
3.1创建任务
创建任务包括直接声明任务,任务名称创建任务,任务名+配置创建任务,TaskContainer的create方法创建任务
3.1.1 直接声明任务
task hello {
doLast{
println("hello world")
}
}
3.1.2 任务名创建任务
def Task hello = task(hello)
hello.doLast{
println("hello world")
}
3.1.3 任务名+配置创建任务
def Task hello = task(hello,group:BasePlugin.BUILD_GROUP)
hello.doLast{
println("hello world")
}
3.1.4 TaskContainer的create方法创建任务
tasks.create(name:'hello'){
doLast{
println("hello world")
}
}
3.2任务依赖
一个任务可以依赖另一个任务,被依赖的任务先执行
task hello {
doLast{
println("hello")
}
}
task go(dependsOn:hello){
doLast{
println("go")
}
}
3.3动态创建任务
动态指定任务名称
3.times{number->
task "task$number"{
doLast{
println("task$number")
}
}
}
这里是调用Groovy在java.lang.Number中定义的拓展方法循环创建任务,任务名称动态指定.
3.4任务分组
任务分组是对任务进行分组,比如在android studio中gradle可视化页面可以看到分组列表build,help等,默认不指定分组的任务在other分组下
task hello {
group="build"
description="task hello"
doLast{
println("任务分组$group")
println("任务描述$description")
}
}
创建任务指定任务分组和任务描述
3.5多任务执行
命令行一个任务只能执行一次,执行多个任务以空格分割
task task1{
doLast{
println("task1")
}
}
task task2{
doLast{
println("task2")
}
}
在命令行执行
gradle task1 task2
感谢:
http://liuwangshu.cn/application/gradle/2-primer.html