可能原因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" }