Gradle

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

你可能感兴趣的:(Gradle)