Android Studio 3.1升级后Kotlin插件无法正常编辑问题求助
解决Android Studio 3.1升级后Kotlin编辑器失效问题
我之前升级Android Studio时也踩过完全一样的坑——Kotlin代码能正常编译运行,但编辑器就是不识别关键字,Java调用Kotlin的地方还全飘红,折腾了好一阵才解决,给你几个亲测有效的方案:
1. 对齐Kotlin插件与Gradle配置版本
你当前Gradle里配置的kotlin_version是1.2.41,一定要确保Android Studio的Kotlin插件版本和这个完全一致:
- 打开IDE设置(Windows/Linux点
File > Settings,Mac是Android Studio > Preferences) - 找到
Plugins > Kotlin查看插件版本 - 如果版本不匹配,要么把Gradle里的
ext.kotlin_version改成插件的版本,要么在插件市场升级/降级插件到对应版本
2. 彻底清理IDE缓存并重启
升级后缓存混乱是这类问题的重灾区,直接用IDE的缓存清理功能:
- 点击
File > Invalidate Caches / Restart - 选择
Invalidate and Restart,让IDE彻底清空旧缓存再重启
3. 检查模块级Gradle的Kotlin配置
确保每个用到Kotlin的模块(尤其是app模块)都正确配置了插件和依赖:
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' // 这行必须加,不然IDE识别不了Kotlin apply plugin: 'kotlin-android-extensions' // 如果你用了Kotlin扩展的话 dependencies { // 版本要和根Gradle里的kotlin_version一致 implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // 其他项目依赖... }
4. 重新同步Gradle并全量构建
- 点击工具栏的「Sync Project with Gradle Files」(那个大象图标)
- 同步完成后先执行
Build > Clean Project,再做Build > Rebuild Project,强制重新生成所有编译文件
5. 排查Java调用Kotlin的可见性问题
如果Java调用Kotlin飘红但编译能过,大概率是Kotlin代码的可见性问题:
- Kotlin默认的类、方法是
internal权限,Java无法直接访问,要改成public - 要是用到了伴生对象的方法,记得加
@JvmStatic注解,Java才能正常调用:
class TestKotlinClass { companion object { @JvmStatic fun staticMethod() {} } }
6. 重置项目IDE配置(终极方案)
如果上面都没用,试试彻底重置项目的IDE配置:
- 删除项目根目录下的
.idea文件夹,以及各模块里的build文件夹 - 关闭IDE后重新导入项目,让IDE重新生成所有配置文件
内容的提问来源于stack exchange,提问作者RoR noob
相关产品推荐
相关产品推荐

