android - 在 Gradle 中定义为每个构建类型运行的任务

标签 android gradle android-studio android-gradle-plugin build.gradle

我是 Gradle 新手,并且使用 Gradle 在 Android Studio 中实现构建脚本。我已定义构建类型如下:

android {

 buildTypes {
        release {
            ...
        }

        other {
            ...
        }

        debug {
            ...
        }

  }
}
...

我需要创建一个任务,需要为每种构建类型运行该任务,并且它需要知道它正在为哪种构建类型运行:

task myTask(dependsOn: 'build'){
   //1. I need to be run for each build Type
   //2. I need to know which build type I am now running for
   buildType = XXX
}

如何在gradle中实现myTask?

最佳答案

有一个内置支持来访问每个构建变体。例如,要为每个变体创建一个 checkstyle 任务,您可以这样做:

android{
    applicationVariants.all{ variant ->
       def checkstyleTask = task("${variant.name}Checkstyle", type:Checkstyle){
           ...
       }
       check.dependsOn checkstyleTask
    }
}    

关于android - 在 Gradle 中定义为每个构建类型运行的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26761927/

相关文章:

android - 两个 Viewpager 和一个选项卡布局的滑动问题

android - Android Studio 3.1.3 Gradle同步失败

android-studio - 将Android Studio更新至3.3.1后,Android资源编译失败,无法进行构建/中间/增量

android - 清除android的Dhcp和dns缓存

Android 6.0 - 应用程序卸载时删除外部存储文件

gradle - 如何为多个子模块定义 gradle 任务?

gradle - Vaadin Gradle插件:任务vaadinBuildFrontend失败,出现依赖性错误

android - 如何解决由 : java. nio.file.NoSuchFileException : app/build/intermediates/external_libs_dex/release/out while signing apk? 引起的问题

java - 如何使用 OneSignal 打开特定 Activity ?

android - 在Android中为SQLite数据库构建LoaderManager