ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> Android开发 >> Android Gradle 自定义Task 详解

Android Gradle 自定义Task 详解(3/5)

来源:网络整理     时间:2017-12-05     关键词:

本篇文章主要介绍了" Android Gradle 自定义Task 详解",主要涉及到方面的内容,对于Android开发感兴趣的同学可以参考一下: 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/76408024 本文出自【赵彦军的博客】一:...


//创建 hello2 task
tasks.create("hello2"){
    doFirst {
        println "hello2+++++"
    }
}
  • 自定义 DefaultTask 子类
class MyTask extends DefaultTask {

    @TaskAction
    void action(){
        println "action1+++++"
    }
}

//创建 hello3 task
task hello3 (type: MyTask){
    doLast{
       println "action2+++++"
    }
}

运行 hello3 task: gradlew hello3

输出

action1+++++
action2+++++

八: Task 依赖

1、dependsOn

build.gradle

task task1 << {
    println "我是task1----"
}

task task2 << {
    println "我是task2----"
}

//task2 依赖 task1, 执行task2之前先执行task1
task2.dependsOn task1

执行 task2

gradlew task2

执行效果

我是task1----
我是task2----

2、mustRunAfter

两个 task 依赖


task task1 << {
    println "我是task1----"
}

task task2 << {
    println "我是task2----"
}

//task2 运行之前先运行task1
task2.mustRunAfter task1
  • 执行 task1 : gradlew task1

    我是task1----

  • 执行 task2 : gradlew task2

    我是task2----

  • 同时执行 task1、task2 : gradlew task1 task2

    我是task1----
    我是task2----

三个 task 相互依赖

build.gradle

task task1 << {
    println "我是task1----"
}

task task2 << {
    println "我是task2----"
}

task task3 << {
    println "我是task3----"
}

task2.mustRunAfter task1
task3.mustRunAfter task1
  • 执行 gradlew task1 task2 task3

    我是task1----
    我是task2----
    我是task3----

  • 执行 gradlew task1 task3 task2

    我是task1----
    我是task3----
    我是task1----

在出现语法矛盾的情况下,依赖关系形成闭环,编译器会报错

task1.mustRunAfter task2
task2.mustRunAfter task1

3、shouldRunAfter

形成依赖关系可有可无。

build.gradle

task task1 << {
    println "我是task1----"
}

task task2 << {
    println "我是task2----"
}

task1.shouldRunAfter task2

运行: gradlew task1 task2

我是task2----
我是task1----

上一篇Android文件操作 下一篇weex 环境搭建

相关图片

相关文章