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

Android Kotlin集成Room与KSP时Gradle同步及构建失败求助

解决KSP与Room配置引发的构建错误:找不到getChangedFiles方法

核心问题分析

  1. Room依赖版本不一致:Room的runtime和compiler版本必须严格匹配,你当前runtime用2.6.1,compiler却用2.5.0,这会导致兼容性冲突。
  2. KSP插件与Kotlin版本不匹配:KSP版本和项目中使用的Kotlin版本强绑定,版本不匹配会触发构建工具类的方法找不到错误。

具体修复步骤

1. 统一Room所有依赖的版本

修改app模块的build.gradle,将room-compiler版本调整为和runtime一致的2.6.1:

dependencies {//build.gradle(app)
    val room_version = "2.6.1"
    implementation("androidx.room:room-runtime:$room_version")
    ksp("androidx.room:room-compiler:$room_version") // 版本与runtime统一
    implementation ("androidx.room:room-rxjava3:$room_version")
    implementation ("io.reactivex.rxjava3:rxjava:3.1.10")
}

2. 正确配置KSP插件版本(统一在根目录管理)

建议在项目根目录的build.gradle中统一声明KSP插件版本,而非Library模块:

// 项目根目录 build.gradle
plugins {
    id("com.google.devtools.ksp") version "2.0.21-1.0.27" apply false
}

app模块的plugins块保持原有引用即可:

plugins {//build.gradle(app)
    alias(libs.plugins.android.application)
    alias(libs.plugins.kotlin.android)
    id("com.google.devtools.ksp")
}

注意:KSP版本命名规则为[Kotlin版本]-[KSP版本],请确认你项目中使用的Kotlin版本为2.0.21,否则需要更换对应版本的KSP插件。

3. 清理缓存并重启项目

  • 点击Android Studio顶部菜单 File → Invalidate Caches...,选择Invalidate and Restart
  • 或者手动删除项目根目录下的.gradle、app/build文件夹,重新执行Sync操作

错误原因说明

org.jetbrains.kotlin.buildtools.api.SourcesChanges com.google.devtools.ksp.gradle.KspTaskJvm.getChangedFiles(...) 方法找不到的问题,本质是KSP插件版本与Kotlin构建工具链版本不兼容,再加上Room依赖版本不一致的双重冲突,导致构建过程中出现类方法缺失的异常。统一版本并清理缓存后,这类问题通常可以解决。

内容的提问来源于stack exchange,提问作者mkrdmn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 21:34:51