我在添加空间的多模块项目中遇到了类似的问题。对于我的项目,问题是由于将我的派生类添加到库模块,但配置了我的应用程序模块。RoomDatabase
build.gradle
解决方案是配置包含派生类的模块。build.gradle
RoomDatabase
该解决方案有 3 个主要部分:
1. 您的派生类(在本例中)RoomDatabase
AppDatabase
@Database(entities = arrayOf(SomeWidgetEntity::class), version = 50)
abstract class AppDatabase : RoomDatabase() {
//your code goes here
}
2. 在包含的模块文件中,将以下内容添加到该部分。build.gradle
AppDatabase
defaultConfig{}
defaultConfig {
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation":
"$projectDir/schemas".toString()]
}
}
}
3. 在同一文件中的部分中,添加房间编译器的依赖项。build.gradle
dependencies{}
dependencies {
//for kotlin based projects (where $room_version is the version of room you're using)
kapt "android.arch.persistence.room:compiler:$room_version"
//for java based projects
annotationProcessor "android.arch.persistence.room:compiler:$room_version"
}