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

升级Kotlin 2.0.0并替换Kapt为KSP后仍出现Kapt版本兼容警告的原因咨询

升级Kotlin 2.0.0并替换Kapt为KSP后仍出现Kapt版本兼容警告的原因咨询

问题描述

我把Android应用升级到Kotlin 2.0.0,并且把Dagger的注解处理器从Kapt替换成了KSP,但构建应用时还是收到了如下警告:

Task :common:persistence:kaptGenerateStubsDebugKotlin
w: Kapt currently doesn't support language version 2.0+. Falling back to 1.9.

我已经在Android Studio里搜遍了整个项目源码,完全找不到任何Kapt的引用,为什么还会出现这个警告呢?

可能的原因及排查方案

  • 第三方依赖暗藏Kapt引用:有些老版本的第三方库(比如某些Dagger的衍生库、或者其他需要注解处理的工具库)可能在内部依赖了Kapt插件,哪怕你自己的代码里没加,这些依赖也会触发Kapt相关任务。你可以在Android Studio的Gradle面板中,找到common:persistence模块的dependencies任务,执行后查看完整的依赖树,排查是否存在带kapt的依赖项。
  • 模块间的传递依赖问题:如果你的common:persistence模块依赖了其他子模块,而那个子模块还没完成Kapt到KSP的替换,Kapt配置会通过依赖传递过来。检查该模块的依赖列表,确认所有关联模块都已经移除了Kapt配置。
  • Gradle缓存残留:Gradle的缓存有时候会保留旧的配置信息,哪怕你已经删除了代码里的Kapt引用。可以尝试执行命令清理缓存:
    ./gradlew cleanBuildCache
    
    Windows环境则执行:
    gradlew cleanBuildCache
    
    清理完成后重新构建项目,看看警告是否消失。
  • 多模块配置遗漏:多模块项目很容易忽略某个模块的配置更新,确认你在所有模块的build.gradle.kts(或.gradle)文件中都移除了id 'kotlin-kapt'插件,并且正确添加了KSP插件:id 'com.google.devtools.ksp'。

备注:内容来源于stack exchange,提问作者user23185393

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 10:29:29