【AndroidStudio】引入ROOM数据库依赖

        笔者也是最近才开始使用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的声明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值