Android开发

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"
}

 

这篇关于Android开发 使用Room构建数据库出现RoomDatabase_Impl does not exist问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!