android - 关于gradle中任务执行的顺序

标签 android gradle

我在应用程序的 gradle 文件中为我的 Android 应用程序定义了两个任务。我的应用程序有两种风格,我希望这两个任务只针对一种风格运行。为此,我使用了以下 gradle 配置:

task A << { ... }

task B << { ... }

tasks.whenTaskAdded { task ->
    if(task.name.contains('assembleFreeVersion')) {
        task.dependsOn A
        task.dependsOn B
    } 
}

我的问题是:任务A是否总是在任务B执行后执行?如果不是,我该怎么做才能确保在不紧密耦合任务 A 和 B 的情况下(即我应该仍然能够运行一个任务而不运行另一个任务)?

最佳答案

简短的回答是否定的。依赖不指定顺序。要指定您需要使用的顺序 mustRunAfter :

task A << { ... }

task B << { ... }

tasks.whenTaskAdded { task ->
    if(task.name.contains('assembleFreeVersion')) {
        task.dependsOn A
        task.dependsOn B
        B.mustRunAfter A
    } 
}

关于android - 关于gradle中任务执行的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34264996/

相关文章:

android - 如何确定进度条末端的位置(像素坐标或其他)?

gradle - 在Gradle 5.5.1中将子项目已解决的依赖项添加到Earlib

java - 排除 apk 文件中的预定义资源

android - 从android gradle插件生成eclipse项目

android - 如何在我的应用程序中实现 applock 高级保护等功能

android - 组装生产版本时在Gradle中设置常量值buildConfigField

android - Flutter - 如何根据List中的ID统计数据

android - 如何在Gradle项目Android Studio中导入库

java - 如何在 gradle 上强制使用 gradlew?

android gridlayout 未在模拟器 API 22 中显示