【问题标题】:Adding kapt to use Room causes compile errors添加 kapt 以使用 Room 会导致编译错误
【发布时间】:2018-03-29 17:58:50
【问题描述】:

我添加了apply plugin: 'kotlin-kapt' 以便能够使用房间注释处理器:

compile "android.arch.persistence.room:runtime:1.0.0"
kapt "android.arch.persistence.room:compiler:1.0.0"

但是,当我构建我的项目时,我得到:

Folder C:\Users\...\app\build\generated\source\kaptKotlin\debug


Folder C:\Users\...\app\build\generated\source\kaptKotlin\release


3rd-party Gradle plug-ins may be the cause

如果我摆脱 kapt 并简单地使用 annotationProcessor 代替。应用崩溃时说:

java.lang.RuntimeException: 找不到实现 com.example..data.database.App 数据库。 Appdatabase_Impl 不存在

关于如何使用 Room 的任何想法

【问题讨论】:

  • 您可能还有其他使用 annotationProcessor 而不是 kapt 的东西?
  • @EpicPandaForce 不,我有常见的 android 支持库,但我唯一的注释库是房间
  • 有数据绑定的机会吗?
  • 如果您使用的是 kotlin 版本 1.2.31,您可能会收到这样的错误。现在使用 kotlin 版本 1.2.30。
  • 你解决了这个错误?我也一样

标签: android kotlin kotlin-android-extensions


【解决方案1】:

我遇到了类似的问题。

转到:

运行 -> 编辑配置 -> 常规

在底部,有一个名为的窗口

发布前:Gradle-Aware,活动工具窗口

删除

即时应用配置

并保持 Gradle-aware Make

【讨论】:

    【解决方案2】:

    我删除了两个文件夹 app\build\generated\source\kaptKotlin\debug 和 app\build\generated\source\kaptKotlin\release (“debug”和“release”)并添加 在毕业典礼上:

    kapt {
            mapDiagnosticLocations = true
        }
    

    然后项目同步没有问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-17
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-09
      相关资源
      最近更新 更多