I am getting following error while running application

java.lang.RuntimeException: cannot find implementation for com.abc.db.abdDB. abcDB_Impl does not exist

我的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"

我的数据库类:

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
    }

有人try 使用androidX API吗?有人能帮我找到解决这个问题的办法吗?

推荐答案

If you use Kotlin, then you have to use kapt instead of annotationProcessor, and must also apply kotlin-kapt plugin.

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"

Kotlin相关问答推荐

Spring Boot Bean验证器未触发

无法访问类kotlin.coroutines.CoroutineContext';.判断模块类路径中是否存在丢失或冲突的依赖项

如何进行基于lambda/谓词的两个列表的交集?

用A*搜索算法解决特修斯和米诺陶尔难题

如何更改默认推断没有接收者的函数类型?

Kotlin中反射中Int到可空Double的隐式转换失败

在 map 中查找键与在 kotlin 中查找 firstOrNull

内容更改后的 var 重新计算

Kotlin 编译器在构造函数中报告未使用的表达式,以便构建器采用 vararg lambda

如何判断给定字符串是否多次包含另一个子字符串?

Kotlin 插件之间的区别

如何使用 Either monad 并避免嵌套 flatMap

Kotlin 1.2.21 + SimpleXml 2.3.0 - consume List error (must mark set get method)

`this@classname` 在 Kotlin 中是什么意思?

将 Completable 转换为 Single 的规范方法?

Kotlin suspend fun

在kotlin中,如何模拟封装回调函数?

用Gradle Kotlin DSL构建源jar?

Android Studio - java.io.IOException:无法生成 v1 签名

使用 Moshi/Retrofit2 访问深度嵌套的 JSON 数组