Android Studio 4.1提示Kotlin库由新版编译器编译无法读取怎么办
Android Studio 4.1 内置绑定的Kotlin插件最高仅支持Kotlin 1.4.x系列版本,你在Gradle中配置的Kotlin 1.6.0版本高于IDE内置插件的兼容上限。
Gradle执行构建任务时会使用你声明的1.6.0版本Kotlin编译器完成编译、打包流程,因此代码可以正常安装运行;但IDE的代码索引、语法检查、代码提示功能完全依赖内置的旧版Kotlin插件,两者使用的Kotlin版本不匹配,所以无法读取高版本Kotlin编译器编译出的库文件,就会触发版本不兼容报错,同时出现代码标红、无补全提示的现象。
你可以根据自身需求二选一:
方案1(推荐,无后续兼容问题):升级Android Studio
Android Studio与Kotlin版本的兼容绑定和IDE版本强相关:Arctic Fox(2020.3.1)及更高版本原生支持Kotlin 1.5、1.6系列。
升级IDE后不需要修改现有Gradle中的Kotlin配置,打开项目等待Gradle同步完成,报错、代码标红、无提示的问题会直接消失。如果升级后提示更新Android Gradle插件版本,按照IDE引导完成同步即可,原有业务代码、依赖配置不需要调整。
方案2(保留Android Studio 4.1):对齐Kotlin版本
如果暂时没有升级IDE的计划,将Gradle中的Kotlin版本降级到和IDE内置Kotlin插件完全一致的版本即可:
- 打开
Settings > Plugins,在已安装插件列表中找到Kotlin,查看当前插件的版本号(Android Studio 4.1内置的Kotlin版本通常为1.4.10或1.4.30) - 修改项目根目录下build.gradle文件中的
ext.kotlin_version字段,替换为刚才查到的版本号,示例如下:
buildscript { ext.kotlin_version = "1.4.30" // 替换为你IDE实际安装的Kotlin插件版本 repositories { google() jcenter() } dependencies { classpath "com.android.tools.build:gradle:4.1.0" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
- 点击右上角的
Sync Now等待项目同步完成即可。
注意:如果你的项目中有其他三方依赖要求Kotlin版本最低为1.5及以上,降级后会出现依赖兼容报错,这种场景只能选择升级Android Studio解决。
如果完成上述操作后仍有偶发的标红、提示异常,执行缓存清理即可:
- 点击菜单栏
File > Invalidate Caches...,勾选所有缓存清理选项,点击Invalidate and Restart,等待IDE重启完成索引重建后异常就会消失。
内容的提问来源于stack exchange,提问作者Tomasz Stępnik

