Запускать чистую задачу перед каждой сборкой автоматически в Gradle
Я хочу запустить проект "чистый" до того, как assembleRelease
задание в Gradle.
Как я могу запустить чистую задачу в основном перед всем?
2 ответа
В Gradle вы можете использовать dependsOn
метод.
B.dependsOn A
В этом случае:
- Задача B зависит от задачи A
- gradle выполняет задачу каждый раз перед выполнением задачи B.
В твоем случае:
assembleRelease.dependsOn clean
Используйте следующий код, чтобы сначала выполнить чистую задачу для каждого варианта сборки
project.afterEvaluate {
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
def capitalizedVariant = variant.name.capitalize()
def assembleVariantTask = project.tasks."assemble${capitalizedVariant}"
assembleVariantTask.dependsOn clean
}
}
}
Кроме того, мне нужно было иметь это в
android {
afterEvaluate {
assemble(*your task here*)debug clean
}
и теперь это прекрасно работает