使用了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
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" }