不生成BuildConfig-Gradle Kotlin DSL

时间:2019-08-24 21:31:10

标签: android android-gradle-plugin gradle-kotlin-dsl android-buildconfig

要禁用使用Groovy DSL生成BuildConfig,可以执行以下操作:

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

在尝试使用Gradle的Kotlin DSL(build.gradle.kts)时,我试图找到等效项。有人有运气吗?

3 个答案:

答案 0 :(得分:1)

您可以通过添加以下内容从所有变体中删除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
    }
}

答案 1 :(得分:0)

我最终发现它也可以工作:

android { ... }

tasks.withType<GenerateBuildConfig> {
    isEnabled = false
}

答案 2 :(得分:0)

如果您有 Android Studio 4.1 或更高版本,您可以使用 Build Features 字段按模块禁用它。

android {
    ...

    buildFeatures {
        buildConfig = false
        resValues = false
    }
}