gradle :task

task执行顺序dependsOn

一个 Task 是由一序列 Action (动作)组成的,当运行一个 Task 的时候,这个 Task 里的 Action 序列会按顺序依次执行。

doFirst\doLast之外的代码只是配置代码,它们并不是 Action ,Task 里的 Action 只会在该 Task 真正运行时执行,Gradle 里通过 doFirst、doLast 来为 Task 增加 Action 。

  • doFirst:task执行时最先执行的操作

  • doLast:task执行时最后执行的操作

  • task内除了doFirst、doLast之外都是配置时执行

配置顺序:从上到下

task内执行顺序:doFirst -> doLast

task间可以通过mustRunAfter vs dependsOn vs finalizedBy调整顺序

  • dependsOn - 设置任务依赖关系。

  • mustRunAfter - 设置任务执行顺序。

  • finalizedBy - 为任务添加一个当前任务结束后立马执行的任务

测试: 定义task1、task2、task3、task4,并让他们按照4321的顺序执行


task task2 {
    sleep 1000
    println "=====task2====="
    doFirst {
        sleep 1000
        println "=====task2 first====="
    }
    doLast {
        sleep 1000
        println "=====task2 last====="
    }
}


task task4 {
    sleep 1000
    println "=====task4====="
    doFirst {
        sleep 1000
        println "=====task4 first====="
    }
    doLast {
        sleep 1000
        println "=====task4 last====="
    }
}


task task3 {
    sleep 1000
    println "=====task3====="
    doFirst {
        sleep 1000
        println "=====task3 first====="
    }
    doLast {
        sleep 1000
        println "=====task3 last====="
    }
}


task task1() {
    //configure
    task3.dependsOn task4
    task2.dependsOn task3
    task1.dependsOn task2
    //configure
    println "=====task1====="

    //action
    doFirst {
        println "=====task1 first====="
    }
    //action
    doLast {
        println "=====task1 last====="
    }
}
//
//Executing tasks: [task1] 
//
//
//> Configure project :app
//=====task2=====
//=====task4=====
//=====task3=====
//=====task1=====
//
//> Task :app:task4
//=====task4 first=====
//=====task4 last=====
//
//> Task :app:task3
//=====task3 first=====
//=====task3 last=====
//
//> Task :app:task2
//=====task2 first=====
//=====task2 last=====
//
//> Task :app:task1
//=====task1 first=====
//=====task1 last=====

自定义Task类

//自定义Task类,必须继承自DefaultTask
class SayHelloTask extends DefaultTask {

    String msg = "default name"
    int age = 18

    //构造函数必须用@Inject注解标识
    @Inject
    SayHelloTask(int age) {
        this.age = age
    }

    //通过@TaskAction注解来标识该Task要执行的动作
    @TaskAction
    void sayHello() {
        println "Hello $msg ! age is ${age}"
    }

}

//通过constructorArgs参数来指定构造函数的参数值
task hello1(type: SayHelloTask, constructorArgs: [30])

//通过type参数指定task的父类,可以在配置代码里修改父类的属性
task hello2(type: SayHelloTask, constructorArgs: [18]) {
    //配置代码里修改 SayHelloTask 里的字段 msg 的值
    msg = "xq"
    age = 25
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要下载build:gradle:3.6.1,您可以按照以下步骤操作: 1. 打开您的项目文件夹,找到项目的build.gradle文件。 2. 在build.gradle文件中找到dependencies部分。 3. 在dependencies部分中添加以下代码: ``` classpath 'com.android.tools.build:gradle:3.6.1' ``` 4. 保存并关闭build.gradle文件。 5. 在Android Studio中,打开Gradle面板(在右侧的边栏中)。 6. 在Gradle面板中,展开您的项目,找到build.gradle文件。 7. 右键单击build.gradle文件,然后选择“Reload Gradle Project”。 8. Gradle将开始下载并安装build:gradle:3.6.1。您可以在Gradle控制台中查看下载进度。 9. 下载完成后,您可以在Gradle面板中看到build:gradle:3.6.1已经被添加到您的项目中。 请注意,如果您使用的是其他构建工具或IDE,下载步骤可能会略有不同。 ### 回答2: 要下载build.gradle:3.6.1,您可以按照以下步骤进行操作: 1. 首先,打开一个支持Gradle构建的项目,并确保您的计算机已经安装了Gradle构建工具。 2. 接下来,打开您的项目根目录中的build.gradle文件,该文件位于项目的顶级目录。 3. 在build.gradle文件中,找到buildscript部分,它通常在脚本的顶部。在该部分中,您将找到对Gradle版本的声明。 4. 确保Gradle的版本声明看起来像下面这样: buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.6.1' } } 5. 如果版本声明中的Gradle版本不是3.6.1,则将其更改为3.6.1。 6. 保存并关闭build.gradle文件。 7. 现在,返回到命令行界面或终端,并导航到您的项目目录。 8. 在命令行中,运行以下命令来下载并安装Gradle 3.6.1: ./gradlew wrapper --gradle-version 3.6.1 9. 等待Gradle安装完成。一旦安装完成,您的项目将具备了使用Gradle 3.6.1进行构建的能力。 请注意,如果您使用的是Android Studio等集成开发环境(IDE),它通常会自动下载和管理Gradle版本。在这种情况下,您只需要在IDE中更新Gradle版本即可,而不需要手动下载版本。 ### 回答3: build.gradle是Android项目中的一个配置文件,它包含了关于项目的各种设置和依赖项的信息。而gradle是一种项目构建工具,用于自动化构建、测试和部署应用程序。 build.gradle:3.6.1表示使用Gradle的版本号为3.6.1。在下载该版本的Gradle之前,可以去官方网站(https://gradle.org/releases/)下载并安装Gradle。也可以通过在线构建工具或者像JCenter、Maven Central这样的仓库来获取所需的构建工具。 下载build.gradle:3.6.1的步骤如下: 1. 打开Gradle官方网站,找到3.6.1版本的Gradle。 2. 点击下载按钮,选择适合您操作系统的版本进行下载。 3. 下载完成后,解压缩文件到指定位置。 4. 配置Gradle的环境变量,以便在命令行中可以直接使用Gradle命令。 下载Gradle后,需要将其与Android项目关联起来。在Android项目的根目录下找到build.gradle文件,并将其编辑为如下所示: ``` buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.6.1' } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } ``` 在dependencies中添加了classpath 'com.android.tools.build:gradle:3.6.1',这将确保Android Studio在构建过程中使用指定版本的Gradle。 完成以上操作后,重新打开Android Studio,它会自动检测并加载新的Gradle版本。至此,您成功下载并配置了build.gradle:3.6.1。通过Gradle的强大功能,您可以更轻松地构建、测试和部署Android应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值