13 android kotlin android-room
运行应用程序时出现以下错误
java.lang.RuntimeException: cannot find implementation for com.abc.db.abdDB. abcDB_Impl does not exist
Run Code Online (Sandbox Code Playgroud)
我的build.gradle有以下配置:
implementation "androidx.lifecycle:lifecycle-extensions:2.0.0-alpha1"
annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.0.0-alpha1"
implementation "androidx.room:room-runtime:2.0.0-alpha1"
annotationProcessor "androidx.room:room-compiler:2.0.0-alpha1"
Run Code Online (Sandbox Code Playgroud)
我的数据库类:
fun getDatabase(context: Context): abcDB? {
if (dbInstance == null) {
synchronized(abcDB::class.java) {
if (dbInstance == null) {
dbInstance = Room.databaseBuilder(context.applicationContext,
abcDB::class.java, "abc_db")
.fallbackToDestructiveMigration()
.addCallback(sRoomDatabaseCallback)
.build()
}
}
}
return dbInstance
}
Run Code Online (Sandbox Code Playgroud)
有没有人尝试使用androidX API?有人可以帮忙找到解决方案吗?
Epi*_*rce 29
如果您使用Kotlin,那么您必须使用kapt而不是annotationProcessor,并且还必须应用kotlin-kapt插件.
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
dependencies {
implementation "androidx.lifecycle:lifecycle-extensions:2.0.0-alpha1"
kapt "androidx.lifecycle:lifecycle-compiler:2.0.0-alpha1"
implementation "androidx.room:room-runtime:2.0.0-alpha1"
kapt "androidx.room:room-compiler:2.0.0-alpha1"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5331 次 |
| 最近记录: |