Android Studio持续编译问题求助:多版本Kotlin JVM插件失效
解决Android Studio Kotlin JVM插件导致的无限编译问题
问题描述
- Android Studio出现**无限编译(endless compilation)**问题,对应版本的Kotlin JVM插件存在此Bug
- 已有两个不同版本的Kotlin JVM插件触发该问题,担心后续更多版本受影响
- 已尝试重新安装插件、清理缓存,均无效果
可行解决方案
1. 锁定稳定版Kotlin插件
在项目根目录的build.gradle(或build.gradle.kts)中强制指定未触发Bug的稳定版Kotlin插件,避免自动更新到有问题的版本:
- Groovy语法:
buildscript { ext.kotlin_version = "1.8.22" // 替换为你验证过的稳定版本 repositories { google() mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
- Kotlin DSL语法:
buildscript { val kotlinVersion = "1.8.22" // 替换为你验证过的稳定版本 repositories { google() mavenCentral() } dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } }
2. 禁用Kotlin增量编译
增量编译可能是触发无限循环的诱因,在项目根目录的gradle.properties中添加以下配置:
kotlin.incremental=false kotlin.incremental.java=false kotlin.incremental.js=false
3. 清理项目构建目录并重新同步
- 手动删除项目根目录下的
.gradle、build文件夹,以及模块目录下的build文件夹 - 重启Android Studio,执行
File -> Sync Project with Gradle Files
4. 检查项目中自定义Gradle脚本或插件
无限编译可能是自定义脚本与Kotlin插件版本不兼容导致:
- 排查项目中是否有自定义Gradle插件、Task或Transform,暂时禁用后测试编译是否恢复正常
- 检查是否有依赖库使用了与当前Kotlin版本不匹配的字节码版本,在模块
build.gradle中统一指定:
android { compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } }
5. 回退Android Studio到对应兼容版本
如果多个Kotlin插件版本都出现问题,可能是Android Studio版本与Kotlin插件的兼容性问题,回退到之前能正常工作的Android Studio版本,再搭配对应的Kotlin插件版本使用
内容的提问来源于stack exchange,提问作者LaLaLaLaKKKK
相关产品推荐
相关产品推荐

