BuildConfig.VERSION_NAME 找不到

使用最新Android Studio新建的Compose 工程,当我尝试访问版本号时出现了如下错误

Unresolved reference 'VERSION_NAME'.

对应的环境

gradle版本:8.7

gradle插件版本:8.5.2

分析

这和BuildConfig找不到不同,BuildConfig找不到只需要在gradle中添加

android {
    ...
    buildFeatures {
        buildConfig = true // 需要buildconfig
        compose = true // compose布局
        aidl = true //如需要使用aidl,添加该选项
    }
    ...
}

即可。

现在问题是BuildConfig找得到,而是缺少部分字段。

排查过程

去网上搜索了一下资料,发现有人说要用 

1. 我有其他项目能正常访问VERSION_NAME,使用的是8.5.1,会不会是版本问题呢?

        我将版本降级到8.5.1,还是没有VERSION_NAME生成。

2. 查看老的项目,也没有关于buildconfig更多的特殊配置了,查看gradle.properties里面多了一个enableJetifier=true的配置,添加该配置重试,仍然找不到VERSION_NAME

3. 将老项目gradle所有插件都升级到最新版本,和新项目保持一致,生成的BuildConfig中仍然有VERSION_NAME,这就很奇怪了。。。一般这个就是配置问题,同样的版本同样的配置怎么老工程怎么就可以呢。。。

4. 会不会是kotlin gradle脚本特有问题呢?

        理论上不会,但验证一下更靠谱。试了一下另外一个项目(也用的kotlin脚本),更新gradle到最新,成功生成了VERSION_NAME

5. 我再次回到本项目,突然发现 BuildConfig 路径不太对,怎么指向了 mmkv 库?删掉该import,重新导入当前app的BuildConfig,问题解决。

吐血。。。没想到最后原因竟是一个低级问题。

总结

该问题的处理方法有以下几种方式:

1. 修改buildFeatures,重新编译。最简单的方法。

        如已经修改了buildFeatures还有错误,检查导入的BuildConfig路径是否正确

2. 通过PackageManager获取自身app的版本号。我目前没有采用,个人觉得有点繁琐。

个人一般都会优先使用最新的gradle插件,如果大家有什么问题,欢迎留言,一起探讨探讨呀~

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值