可能原因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" }
本文来自博客园,作者:观心静 ,转载请注明原文链接:https://www.cnblogs.com/guanxinjing/p/14990401.html
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。