【发布时间】:2018-05-16 06:51:41
【问题描述】:
我的 Customtask 解压缩 apk 并为某个文件收集 sha1,所以我创建了我的任务,但我想在每次生成任何 apk(任何内置或任何变体)时执行它,不知道如何准确触发我的任务apk 已创建。请帮忙。
类似下面的东西
android {
task customTask {}
afterEvaluate {
package<VariantName>Release.finalizedBy(customTask)
}
}
生成每个变体 apk 后,我需要运行我的自定义任务。我可以通过明确指定任务名称来为一种变体执行此操作,例如
afterEvaluate {
packageDbRelease.finalizedBy(customTask)
}
但我还有 5 个变体,例如 packageARRelease 等,之后我想运行相同的自定义任务。
【问题讨论】:
-
不可能在单个 Gradle 构建中多次运行任务。您可以将每个
package<VariantName>Release的操作放在一个任务中(在所有这些操作之后执行),或者为每个操作创建一个自定义任务。 -
afterEvaluate作为配置阶段的最后一部分执行,这意味着在任何任务运行之前。任务只能在执行阶段运行。我会检查packageXYRelease任务的任务类型并使用tasks.withType(...)或尝试直接迭代您的变体。
标签: android gradle android-gradle-plugin