使用最新版KSP与Hilt时遇org.jetbrains.kotlin.buildtools.api.SourcesChanges加载错误
解决KSP与Hilt搭配时的
SourcesChanges类加载错误 这个org.jetbrains.kotlin.buildtools.api.SourcesChanges类加载失败的问题,核心原因是KSP、Hilt、Kotlin、Gradle版本之间存在兼容性冲突,具体来说:
- KSP 2.0.0系列是为Kotlin 2.0.x设计的,但Hilt 2.51.1暂未适配Kotlin 2.0,两者搭配会导致依赖不兼容;
- 同时Gradle版本如果和KSP/Kotlin版本不匹配,也会触发这类类加载异常。
解决方案步骤:
1. 对齐版本到兼容组合
调整versions.toml中的版本,选择经过验证的兼容组合(以Kotlin 1.9.22 + Gradle 8.5为例):
[versions] kotlin = "1.9.22" ksp = "1.9.22-1.0.17" # KSP版本需与Kotlin版本严格对应,格式为{KSP版本}-{Kotlin版本} hilt = "2.51.1" gradle = "8.5" [libraries] hilt-android-compiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "hilt" } hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" } [plugins] kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
2. 清理Gradle缓存与守护进程
执行以下操作彻底清理旧缓存:
- 停止所有Gradle守护进程:
./gradlew --stop # macOS/Linux gradlew.bat --stop # Windows - 删除本地Gradle缓存目录:
- macOS/Linux:删除
~/.gradle/caches - Windows:删除
C:\Users\<你的用户名>\.gradle\caches
- macOS/Linux:删除
- 执行清理构建:
./gradlew clean build --no-build-cache # macOS/Linux gradlew.bat clean build --no-build-cache # Windows
3. 重新同步项目
在IDE中执行"Sync Project with Gradle Files",然后尝试重新构建项目。
内容的提问来源于stack exchange,提问作者moslem Khanbeiki
相关产品推荐
相关产品推荐

