Android Studio Ladybug生成Release构建时出现Retrofit相关Kotlin版本不兼容错误
兄弟,我之前也踩过这个一模一样的坑!先理清楚你遇到的情况:
你现在用的是最新版Retrofit,依赖配置是:
implementation 'com.squareup.retrofit2:converter-gson:2.11.0'
项目在模拟器上跑起来完全顺畅,构建运行都没毛病,但一尝试生成Release构建就报错,你贴的错误内容虽然截断了,但我猜完整的应该是类似“Module was compiled with a newer version of Kotlin (metadata x.x.x) than what is supported by this compiler (y.y.y)”的提示。
这个问题本质就是版本不兼容:Retrofit 2.11.0是用较高版本的Kotlin编译的,而你的项目里配置的Kotlin版本偏低,Debug构建可能因为有兼容兜底没触发错误,但Release构建时校验更严格,就直接报错了。
给你几个实用的解决办法,按优先级来试:
最推荐:升级项目Kotlin版本
Retrofit 2.11.0是基于Kotlin 1.9.x编译的,你只需要在项目根目录的build.gradle(或者build.gradle.kts)里把Kotlin插件版本改成1.9.x就行,比如:plugins { id 'com.android.application' version '7.4.2' apply false id 'com.android.library' version '7.4.2' apply false id 'org.jetbrains.kotlin.android' version '1.9.20' apply false }改完点Sync Now同步Gradle,再去生成Release构建应该就没问题了。
临时方案:降级Retrofit版本
如果暂时不想动Kotlin版本,你可以把Retrofit降级到和当前Kotlin版本兼容的版本,比如你现在用的是Kotlin 1.8.x的话,换成Retrofit 2.10.0就很稳妥,依赖改成:implementation 'com.squareup.retrofit2:converter-gson:2.10.0'额外小提醒:确保AGP和Kotlin版本匹配
你用的是Android Studio Ladybug,对应的AGP版本一般是7.4.x,这个版本搭配Kotlin 1.8.x或1.9.x都没问题,别乱搭不匹配的版本,不然容易出其他奇怪的小问题。
备注:内容来源于stack exchange,提问作者Maifee Ul Asad

