数据库
首页 > 数据库> > Android开发 使用Room构建数据库出现RoomDatabase_Impl does not exist问题

Android开发 使用Room构建数据库出现RoomDatabase_Impl does not exist问题

作者:互联网

可能原因1

使用了kotlin构建了项目,并且使用kotlin编写room创建数据库,在build.gradle文件里做如下修改

plugins {
    id 'com.android.library'
    id 'kotlin-android'
    id 'kotlin-android-extensions'
    id 'kotlin-kapt'
}
//略...
dependencies {
    api"android.arch.persistence.room:runtime:$rootProject.room_version"
    kapt"android.arch.persistence.room:compiler:$rootProject.room_version"
}

将annotationProcessor  替换成 kapt,请注意需要导入 id 'kotlin-kapt' 才能使用 kapt

可能原因2

Room 的依赖是写在工具模块or公共模块里,如下:

dependencies {
    api "android.arch.persistence.room:runtime:$rootProject.room_version"
    annotationProcessor "android.arch.persistence.room:compiler:$rootProject.room_version"
}

而主模块依赖于工具模块,在主模块里就没有写 Room 的依赖
解决办法:
在主模块里添加 Room 的依赖:

dependencies {
   annotationProcessor "android.arch.persistence.room:compiler:$rootProject.room_version"
}

 

标签:kapt,Room,kotlin,does,version,android,id,Impl,room
来源: https://www.cnblogs.com/guanxinjing/p/14990401.html