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

Android搭建Room数据库时kapt/ksp方法未找到依赖错误如何解决

问题原因
  • kapt、ksp都不是Gradle默认支持的依赖配置方法,需要引入对应插件才能使用:
    • 使用kapt必须先引入kotlin-kapt插件
    • 使用ksp必须先引入KSP专属插件
  • 不需要同时添加kapt和ksp版本的room-compiler依赖,二选一即可,同时添加会导致编译冲突
  • 你当前模块级build.gradle的plugins块没有引入对应插件,因此Gradle识别不到kapt()、ksp()方法,直接报错
解决方案

你可以根据自己的需求任选以下一种方案配置即可:

方案1:使用kapt(配置更简单,兼容性高)

  1. 先修改模块级build.gradle的plugins块,新增kotlin-kapt插件引入:
plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-android-extensions'
    // 新增这一行
    id 'kotlin-kapt'
}
  1. 删掉dependencies块里的ksp依赖行,kapt和ksp二选一即可,不要同时添加:
// 删掉这行代码
// ksp("androidx.room:room-compiler:$room_version")
  1. 同步Gradle即可解决报错。

方案2:使用KSP(编译速度比kapt快,需要额外配置)

  1. 先打开项目级build.gradle,在plugins块添加KSP插件版本声明,注意KSP版本必须和你项目使用的Kotlin版本完全匹配,示例如下:
plugins {
    id 'com.android.application' version '7.1.2' apply false
    id 'com.android.library' version '7.1.2' apply false
    id 'org.jetbrains.kotlin.android' version '1.5.31' apply false
    // 新增KSP插件声明,版本前缀和Kotlin版本保持一致
    id 'com.google.devtools.ksp' version '1.5.31-1.0.0' apply false
}
  1. 回到模块级build.gradle的plugins块,引入KSP插件:
plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-android-extensions'
    // 新增这一行
    id 'com.google.devtools.ksp'
}
  1. 删掉dependencies块里的kapt依赖行:
// 删掉这行代码
// kapt("androidx.room:room-compiler:$room_version")
  1. 同步Gradle即可解决报错。
额外优化建议
  • Kotlin项目不需要保留Java专用的annotationProcessor "androidx.room:room-compiler:$room_version"依赖,可以直接删除,避免冗余
  • kotlin-android-extensions插件已经被官方弃用,建议后续替换为ViewBinding或DataBinding使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 02:21:02