APK构建正常但生成签名Bundle失败,Kotlin版本不兼容问题求助
解决Kotlin版本不兼容导致签名Bundle构建失败的问题
问题本质
哪怕你用纯Java写代码,项目里的第三方依赖、AndroidX组件或者Gradle插件,大概率用了1.6.0版本的Kotlin,而你的项目配置的Kotlin版本是1.4.0,两者版本不兼容,才会在生成签名Bundle时触发这个错误。
具体修复步骤
1. 统一项目Kotlin版本
打开项目根目录的build.gradle(Project层级),把Kotlin版本统一升级到1.6.0或更高的稳定版本:
buildscript { ext { kotlin_version = "1.6.0" // 也可以用1.7.x这类更高的稳定版 } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
2. 强制依赖对齐Kotlin版本
如果部分第三方库硬绑定了特定Kotlin版本,在模块级的build.gradle里添加以下配置,强制所有依赖使用你指定的Kotlin版本:
configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" } }
3. 清理缓存后重新构建
- 执行
Build > Clean Project清除旧缓存 - 执行
Build > Rebuild Project重新编译项目 - 再尝试生成签名Bundle
4. 匹配AGP与Kotlin版本
Android Gradle Plugin(AGP)版本要和Kotlin版本对应,比如Kotlin 1.6.x需要AGP 7.0及以上版本,可在根目录build.gradle里更新:
dependencies { classpath 'com.android.tools.build:gradle:7.0.4' // 适配Kotlin 1.6.x的AGP版本 }
内容的提问来源于stack exchange,提问作者sathishkumar Perumal
相关产品推荐
相关产品推荐

