You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

更新Android Studio后gradlew assemble报Kotlin冲突及kapt错误

编译报错修复方案

两个报错属于关联问题,触发原因是更新Android Studio Chipmunk后默认Gradle JDK版本切换+项目内Kotlin依赖版本混乱,按以下步骤操作即可修复:

1. 统一全链路Kotlin依赖版本

首先解决classpath下Kotlin JAR版本不一致的警告,版本冲突会直接导致kapt运行时类加载异常:

  • 打开项目根目录build.gradle,将kotlin-gradle-plugin版本统一为1.6.10(和你当前Android Studio内置的Kotlin插件版本对齐)。
  • 全局排查所有模块的依赖声明,删除所有写死版本号的kotlin-reflect引入,所有Kotlin官方组件(stdlib、reflect、协程等)版本必须和Gradle插件版本完全一致。
  • 如果存在三方库间接引入低版本Kotlin组件的情况,在app模块build.gradle中添加强制版本规则,彻底锁死版本:
configurations.all {
    resolutionStrategy {
        force "org.jetbrains.kotlin:kotlin-stdlib:1.6.10"
        force "org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10"
        force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10"
        force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10"
        force "org.jetbrains.kotlin:kotlin-reflect:1.6.10"
    }
}
  • 同步Gradle后执行./gradlew app:dependencies | grep kotlin,确认输出中所有Kotlin依赖均为1.6.10版本,无1.3、1.5版本残留。

2. 修复kapt的JDK模块访问异常

你遇到的java.lang.IllegalAccessError是Android Studio Chipmunk的默认配置变更导致:该版本开始内置Gradle运行时为JDK 17,而Kotlin 1.6.10及更早版本的kapt组件未适配JDK 17的模块访问限制,无法读取JDK compiler模块的内部类。两种修复方案二选一即可:

方案A(推荐,无兼容风险)

  • 打开Android Studio设置,路径为Settings > Build, Execution, Deployment > Build Tools > Gradle
  • 将Gradle JDK选项从默认的Embedded JDK (Version 17)切换为本地安装的JDK 11,保存设置。
  • 执行./gradlew clean清空历史构建缓存,重新执行./gradlew assemble即可正常构建,流水线环境也需要将构建机的Gradle JDK版本调整为JDK11即可恢复正常。

方案B(适配JDK17场景)

如果项目需要使用JDK17作为构建运行时,直接将项目Kotlin版本升级到1.7.0及以上稳定版,从该版本开始kapt正式适配JDK17的模块导出规则,不需要额外添加JVM启动参数。升级后记得同步对齐所有Kotlin相关依赖、kapt插件的版本号,清理缓存后重新构建。

额外排查项

如果上述操作后仍有报错:

  • 检查所有使用kapt引入的注解处理器(Room、Dagger/Hilt、ButterKnife、Glide注解生成器等),将其升级到支持Kotlin 1.6+、JDK11+的最新稳定版,老版本注解处理器也会触发同类JDK访问限制问题。
  • 不要通过添加--add-exportsJVM参数的方式硬绕模块限制,后续升级AGP、Kotlin版本时会留下隐性兼容问题。

内容的提问来源于stack exchange,提问作者Dawid Długosz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 12:27:06