当前位置: 首页 > 知识库问答 >
问题:

Android Gradle每个变体自定义任务

孔扬
2023-03-14

我有一个用Gradle构建的Android应用程序,它包含BuildTypes和产品口味(变体)。例如,我可以运行这个命令来构建一个特定的APK:

./gradlew testFlavor1Debug
./gradlew testFlavor2Debug

我必须在build.gradle中创建一个自定义任务,例如:

./gradlew myCustomTaskFlavor1Debug
android.applicationVariants.all { variant ->
    task ("myCustomTask${variant.name.capitalize()}") {
        println "*** TEST ***"
        println variant.name.capitalize()
    }
}
./gradlew myCustomTaskFlavor1Debug

*** TEST ***
Flavor1Debug
*** TEST ***
Flavor1Release
*** TEST ***
Flavor2Debug
*** TEST ***
Flavor2Release
./gradlew myCustomTaskFlavor1Debug

*** TEST ***
Flavor1Debug

共有1个答案

古明煦
2023-03-14

发生这种情况是因为逻辑是在配置时执行的。尝试添加操作(<<):

android.applicationVariants.all { variant ->
    task ("myCustomTask${variant.name.capitalize()}") << {
        println "*** TEST ***"
        println variant.name.capitalize()
    }
}
 类似资料:
  • 小结:我想写一个gradle任务,它依赖于一个插件。我特别想使用plugin用于我的部署任务 我有以下项目结构 在我的主要身材中。gradle我导入插件并定义任务: 在中,我定义了它: 我显然收到了错误信息: 问题是,我可以(但不想)在main如下(无错误)

  • 我想把多个分级任务作为一个来运行。所以不是 这行不通

  • 如何将属性传递给gradle自定义任务?在ant中,它将如下所示: 在格拉德尔怎么做? 属性名称和版本是必需的,用户需要将它们传递给任务。

  • 我正在使用这个我在网上找到的脚本,在Woocommerce/WordPress中删除价格范围,只显示可变产品的最低价格,语法如下:From us$xxxx 当变量产品只有一个变体时,我希望脚本做同样的事情。有一个自动的cron(bash+SQL脚本)可以删除不可用的产品。有时,它只留下一个变化的产品,并列出一个价格说明“从XXX美元”的变化看起来是不恰当的,因为只有一个单一的变化)。 如何添加一个

  • 定义一个配置 在配置文件 .sbt这章已经将了如何定义个配置,大部分配置定义在Default中 配置有三种类型,其中SettingKey和TaskKey已经在配置文件 .sbt介绍了,InputKey在任务配置的输入章节介绍。 对于配置的一些例子: val scalaVersion = settingKey[String]("The version of Scala used for buildi

  • 问题内容: 我正在使用Swift在Xcode(7.0版)中创建游戏,并且我想在游戏结束时以字体“ gameOver.ttf”显示标签“ Game Over”。我已将字体添加到资源文件夹中。我不知道如何在我的代码中引用它。我可以帮忙吗?我的代码: 问题答案: 这些是向您的应用程序添加自定义字体的步骤: 在您的应用程序中添加“ gameOver.ttf”字体(确保它已包含在目标中) 修改applica