Запускать чистую задачу перед каждой сборкой автоматически в 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
}

и теперь это прекрасно работает

Другие вопросы по тегам