Не создавать BuildConfig - Gradle Kotlin DSL

Чтобы отключить создание BuildConfig с помощью Groovy DSL, можно сделать следующее:

afterEvaluate {
    generateReleaseBuildConfig.enabled = false
    generateDebugBuildConfig.enabled = false
}

Я пытаюсь найти эквивалент при использовании Gradle Kotlin DSL (build.gradle.kts). Кому-нибудь повезло с этим?


person Programmer001    schedule 24.08.2019    source источник


Ответы (3)


Вы можете удалить BuildConfig из всех вариантов, добавив следующее:

Для библиотеки

android {
    ...

    // TODO replace with https://issuetracker.google.com/issues/72050365 once released.
    libraryVariants.all {
        generateBuildConfigProvider?.get()?.enabled = false
    }
}

Для применения

android {
    ...

    // TODO replace with https://issuetracker.google.com/issues/72050365 once released.
    applicationVariants.all {
        generateBuildConfigProvider?.get()?.enabled = false
    }
}

Если вы хотите указать тип сборки, то:

libraryVariants
    .matching { it.buildType.name == "release"}
    .all {
        generateBuildConfigProvider?.get()?.enabled = false
    }
}
person Furkan Akdemir    schedule 27.09.2019

В итоге я обнаружил, что это тоже работает:

android { ... }

tasks.withType<GenerateBuildConfig> {
    isEnabled = false
}
person Programmer001    schedule 08.12.2019

Если у вас Android Studio 4.1 или выше, вы можете использовать Функции сборки Поле, чтобы отключить его для каждого модуля.

android {
    ...

    buildFeatures {
        buildConfig = false
        resValues = false
    }
}
person TheLuckyCoder    schedule 20.12.2020