You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中Kotlin DSL设置的extra属性未生成到BuildConfig问题

为什么android.extra里的version没出现在BuildConfig中?

android.extra本质上只是Gradle构建脚本内部的属性存储容器,它的作用是在构建脚本的不同模块或配置块之间共享数据,完全不会自动将其中的属性生成到BuildConfig类里。

BuildConfig类里的字段都是需要通过Gradle专门的配置项显式声明才会生成的,默认只包含DEBUG、BUILD_TYPE这类构建相关的系统字段。

如果你想把version属性加到BuildConfig里,得用buildConfigField来配置,比如:

android {
    // 可以保留extra里的设置,方便脚本内部复用
    extra.apply {
        set("version", "AN-1.15")
    }

    defaultConfig {
        // 显式声明要生成的BuildConfig字段
        buildConfigField("String", "VERSION", "\"${extra["version"]}\"")
    }
}

注意这里的第三个参数,字符串类型的值需要用转义引号包裹,不然Gradle会把它当成变量名处理。配置完成后重新同步项目,BuildConfig里就会出现public static final String VERSION = "AN-1.15";这个字段了。

内容的提问来源于stack exchange,提问作者WISHY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 17:52:14