Добавление kapt для использования Room вызывает ошибки компиляции

Я добавил apply plugin: 'kotlin-kapt', чтобы иметь возможность использовать обработчик аннотаций Rooms:

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.Appdatabase. Appdatabase_Impl не существует

Любые идеи о том, как использовать комнату


person Derek    schedule 29.03.2018    source источник
comment
У вас, вероятно, есть другие вещи, которые используют annotationProcessor вместо kapt?   -  person EpicPandaForce    schedule 29.03.2018
comment
@EpicPandaForce Нет, у меня есть общие библиотеки поддержки Android, но единственная библиотека аннотаций, которая у меня есть, это комната   -  person Derek    schedule 29.03.2018
comment
Есть ли шанс привязки данных?   -  person EpicPandaForce    schedule 29.03.2018
comment
Если вы используете kotlin версии 1.2.31, вероятно, вы получите такую ​​ошибку. пока используйте kotlin версии 1.2.30.   -  person Nabin Khatiwada    schedule 30.03.2018
comment
Можете ли вы проверить это для первой проблемы.... stackoverflow.com/questions/49518223/ . Держите kapt, так как это будет правильный путь.   -  person Ravindra Shekhawat    schedule 03.04.2018
comment
вы решаете ошибку? у меня есть такой же   -  person felipe.rce    schedule 23.04.2018
comment
Все еще происходит с Kotlin 1.2.51 и Android Studio 3.1.3...   -  person xarlymg89    schedule 16.07.2018
comment
Все еще происходит с Kotlin 1.2.51 и Android Studio 3.1.4   -  person Sam    schedule 14.09.2018
comment
все еще происходит с Kotlin 1.3 ...   -  person Patric    schedule 01.11.2018


Ответы (2)


Я столкнулся с подобной проблемой.

Go to:

Выполнить -> Редактировать конфигурации -> Общие

Внизу есть окно с именем

Перед запуском: Gradle-Aware, активное окно инструментов

Удалять

Мгновенное предоставление приложения

и сохраняйте поддержку Gradle Make

person Amrita    schedule 19.07.2018

Я удаляю две папки app\build\generated\source\kaptKotlin\debug и app\build\generated\source\kaptKotlin\release ("debug" и "release") и добавляю в gradle:

kapt {
        mapDiagnosticLocations = true
    }

тогда проект синхронизируется без проблем.

person A Mo    schedule 28.09.2018