欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android gradle 将 ext 属性 自动 添加到 BuildConfig

程序员文章站 2022-05-31 20:26:18
...

编写 config.gradle 文件,里面是自己定义的app配置属性

Android gradle 将 ext 属性 自动 添加到 BuildConfig

在项目module 的 build.gradle 里引入刚才写的 gradle 文件

Android gradle 将 ext 属性 自动 添加到 BuildConfig

 

在module 的 build.gradle 里 defaultConfig 块里 添加  

android {
    compileSdkVersion 27
    defaultConfig {
        ... ...

        minSdkVersion 21
        targetSdkVersion 26
        versionCode 100
        versionName 1.0.0
        addBuildConfigFields(defaultConfig)

        ... ...
    }

... ...

}


@SuppressWarnings("GrMethodMayBeStatic")
def addBuildConfigFields(DefaultConfig config) {
    ext.properties.each {
        it ->
            if (it.value instanceof Map) {
                it.value.each {
                    map -> config.buildConfigField "String", "${map.key}", "\"${map.value}\""
                }
            } else if (!it.key.contains(".")) {
                config.buildConfigField "String", "${it.key}", "\"${it.value}\""
            }
    }
}

最后 sync project ,就可以在 app/build/generated/source/buildConfig/debug/BuildConfig.java 中 看到 config.grad 添加的属性了