笔者也是最近才开始使用AndroidStudio,是个新手。在网上查找相关资料学习ROOM数据库使用的时候频频遇到配置问题。后来经过一番与deepseek的周旋才得以解决。
由于笔者学艺尚浅,就不发表看法,仅仅贴出成功配置ROOM数据库依赖的一种方法:
一、app文件夹下build.gradle.kts文件,plugins模块中声明kapt
plugins {
//其他声明
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
...
//新增加
alias(libs.plugins.kotlin.kapt) // 使用版本目录声明 kapt,
// 但是要在libs.versions.toml中增加一些定义内容
}
还是这个文件(app文件夹下build.gradle.kts文件),dependencies模块添加以下三个依赖
dependencies {
...//其他部分
//添加Room依赖,注意确保在 build.gradle.kts 文件中启用了 kapt
// Room 核心库
implementation("androidx.room:room-runtime:2.6.1")
// Room 注解处理器(Kotlin 使用 kapt)
kapt("androidx.room:room-compiler:2.6.1")
// Room 对 Kotlin 协程的支持
implementation("androidx.room:room-ktx:2.6.1")
}
二、修改根目录下gradle文件夹中libs.versions.toml文件,plugins模块中添加定义kapt的语句。其中version.ref = "kotlin"语句是用于版本控制,使kapt插件的版本和kotlin的版本相同,否则可能出现版本不匹配的冲突
[plugins]
...//其他声明
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
//新增加
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin"}
三、修改根目录下build.gradle.kts文件:
plugins {
...//其他声明
alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.kapt) apply false // 显式声明 kotlin-kapt
}
至此,点击构建应该不会出现配置上的报错问题。
后记
笔者遇到的困难是在app文件夹下build.gradle.kts文件中增加kapt("androidx.room:room-compiler:2.6.1")依赖的时候出现报错,说是kapt Unresolved,上网搜索一番发现要在该文件的plugins模块添加kapt的声明alias(libs.plugins.kotlin.kapt)。plugins中以alias()方法添加的声明要在libs.versions.toml文件中定义,于是修改该文件。但是修改之后出现报错说kotlin.android依赖中隐式包含了kotlin.kapt依赖,重新定义会导致因为IDE检测不到版本是否匹配而报错。于是又在根目录下的build.gradle.kts添加alias(libs.plugins.kotlin.kapt) apply false的声明。