Dan*_*kov 2 android kotlin android-room
我已将 kotlin 插件更新到 1.5.20 并发生了此问题。如果我返回 1.5.10 一切正常。
Schema export directory is not provided to the annotation processor so we cannot import the schema. To generate auto migrations, you must provide `room.schemaLocation` annotation processor argument AND set exportSchema to true.
public abstract class BatteryInfoDatabase extends androidx.room.RoomDatabase {
Run Code Online (Sandbox Code Playgroud)
我正在使用最新版本的 Room 持久性库 alpha 3,因为它提供自动迁移
def room_version = "2.4.0-alpha03"
implementation("androidx.room:room-ktx:$room_version")
kapt("androidx.room:room-compiler:$room_version")
Run Code Online (Sandbox Code Playgroud)
javaCompileOptions {
annotationProcessorOptions {
arguments += [
"room.schemaLocation":"$projectDir/schemas".toString()]
}
}
Run Code Online (Sandbox Code Playgroud)
更新我的 Kotlin 版本后,我遇到了与您类似的问题(我的架构将不再生成)。我可以通过从 移动javaCompileOptions到 来修复它kapt,如下所示:
kapt {
arguments {
arg("room.schemaLocation", "$projectDir/schemas".toString())
}
}
Run Code Online (Sandbox Code Playgroud)
因此,用上面的块替换你的javaCompileOptions应该可以解决问题。
编辑:显然这是 Kotlin 中的一个错误。您可以关注此票证及其相关票证中的讨论(并查看其他解决方法):https://youtrack.jetbrains.com/issue/KT-47416
| 归档时间: |
|
| 查看次数: |
1707 次 |
| 最近记录: |