gpt4 book ai didi

每个变体的 Android Gradle 自定义任务

转载 作者:可可西里 更新时间:2023-11-01 19:03:05 26 4
gpt4 key购买 nike

我有一个使用 Gradle 构建的 Android 应用程序,其中包含 BuildTypes 和 Product Flavors(变体)。例如,我可以运行此命令来构建特定的 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

我如何定义一个自定义任务,动态的,每个变体,然后用正确的变体调用它?

最佳答案

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

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

关于每个变体的 Android Gradle 自定义任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29148238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com