Android Studio构建非Kotlin项目出现Kotlin标准库版本不兼容警告
你遇到的警告信息如下:
C:\Users\h33\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.4.32\ef50bfa2c0491a11dcc35d9822edbfd6170e1ea2\kotlin-stdlib-common-1.4.32.jar: Runtime JAR file has version 1.4 which is older than required for API version 1.5
警告产生原因
- 你自身项目没有使用Kotlin不代表第三方依赖没有Kotlin代码:你引入的Jetpack组件、第三方SDK/开源库大概率是用Kotlin实现的,这些库编译时指定的Kotlin API版本为1.5,运行时需要对应1.5及以上版本的Kotlin标准库支持
- 你的项目当前构建时最终依赖的Kotlin标准库版本为1.4.32,低于第三方库要求的最低版本,版本不匹配就触发了该警告
解决方法
- 方案1:在项目根目录的
build.gradle文件中强制指定全局Kotlin版本,在allprojects闭包下添加配置:
allprojects { configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32" force "org.jetbrains.kotlin:kotlin-stdlib-common:1.5.32" } } }
可自行选择1.5以上的稳定版本,如1.5.32、1.6.21即可,不建议选择过新的版本避免和当前项目的AGP版本不兼容。
- 方案2:升级项目的Android Gradle Plugin(AGP)到7.0及以上版本,高版本AGP会自动匹配适配的Kotlin版本,无需额外手动配置即可解决该问题。
- 方案3:在app模块的
build.gradle依赖中显式引入1.5版本以上的Kotlin标准库,优先级会高于传递依赖的低版本:
dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32" }
即便你没有使用Kotlin编写业务代码,添加该依赖也不会增加过多包体积,即可解决版本不匹配问题。
- 排查方案:执行
./gradlew dependencies命令查看Kotlin标准库的依赖传递链,定位到引入低版本Kotlin库的第三方依赖,针对性排除该传递依赖也可以解决警告。
内容的提问来源于stack exchange,提问作者Hong
相关产品推荐
相关产品推荐

