android - RoomDatabase_Impl 不存在

标签 android android-gradle-plugin android-architecture-components

我在尝试实现房间数据库时,出现以下错误:

java.lang.RuntimeException: cannot find implementation for com.udacity.gradle.builditbigger.Database.HilarityUserDatabase. HilarityUserDatabase_Impl does not exist
                                                 at android.arch.persistence.room.Room.getGeneratedImplementation(Room.java:92)

我尝试将相关的 kotlin 依赖项添加到我的 gradle 文件中(如下所示),但是当我这样做时,通常会因任何问题而生成的所有数据绑定(bind)类现在都在我的 gradle 控制台中生成错误。有没有办法让我使用 DataBinding 库和 Room Pesistence 库?

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
...
dependencies{
    kapt "android.arch.persistence.room:compiler:1.0.0"
}

最佳答案

我以前确实发生过,确保你在 build.gradle 中拥有所有 3 个依赖项

implementation 'android.arch.persistence.room:runtime:1.0.0'
annotationProcessor  'android.arch.persistence.room:compiler:1.0.0'
kapt 'android.arch.persistence.room:compiler:1.0.0'

此外,在 gradle 同步之后进行“项目清理”也会有所帮助。

关于android - RoomDatabase_Impl 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49224539/

相关文章:

android - 处理实体和 Pojo

android - Fabric、Crashylitics 堆栈跟踪未进行反混淆。安卓

android - import android.content.pm.packageParser 无法解析

android - 为每个 Build Variant 使用不同的 manifestPlaceholder

java - 添加android项目依赖失败

android - 创建我自己的 ViewModelStore 来控制 ViewModel 生命周期

java - Android架构组件: Room : No such table

android - 每次检测到信标信号时自动启动应用程序信标

Google Play 服务 LocationClient 的 java.util.ConcurrentModificationException

android - 没有可用的缓冲区空间(达到最大连接数?) : bind