Следующие параметры не были распознаны ни одним процессором: '[kapt.kotlin.generated, room.incremental]' - PullRequest
2 голосов
/ 03 октября 2019
:app:kaptDebugKotlin
w: warning: The following options were not recognized by any processor: '[kapt.kotlin.generated, room.incremental]'

Почему я получаю это? Я использую Room в многомодульном проекте.

  • Kotlin версия: 1.3.50
  • AGP: 3.5.0
  • Room: 2.2.0-rc01

Модуль общих библиотек: api "androidx.room:room-runtime:$room_version" api "androidx.room:room-ktx:$room_version" api "androidx.room:room-rxjava2:$room_version"

Модуль приложения:

kapt "androidx.room:room-compiler:$room_version"

Gradle.properties

kapt.incremental.apt=true

Build.gradle defaultConfig включает эти параметры компиляции :

javaCompileOptions {
        annotationProcessorOptions {
            arguments = ["room.incremental":"true"]
        }
    }

Ответы [ 2 ]

1 голос
/ 15 ноября 2019

Хотя я согласен с тем, что отсутствующая капта в модуле была исходной проблемой в IDE.

  • "androidx.room:room-compiler: $ {roomVersion}"

В CLI может быть другой, который вы можете увидеть с подробными предупреждениями:

В текущей версии JDK 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12 есть ошибка (https://bugs.openjdk.java.net/browse/JDK-8007720), который не позволяет Room быть инкрементным. Рассмотрите возможность использования JDK 11+ или встроенного JDK, поставляемого с Android Studio 3.5 +. Предупреждение: Следующие параметры не были распознаны ни одним процессором: '[kapt.kotlin.generated, room.incremental]'[WARN] Запрошена обработка добавочной аннотации, но поддержка отключена, поскольку следующие процессоры не являются инкрементными: androidx.room.RoomProcessor (DYNAMIC).

1 голос
/ 03 октября 2019

Этот тип проблемы может возникать с мультимодульным проектом, который был добавлен в комнату. Для такого проекта проблема была вызвана добавлением производного класса RoomDatabase в модуль библиотеки, но с настройкой build.gradle модуля приложения.

Решение заключается в настройке build.gradle модуля, который содержитПроизводный класс RoomDatabase.

  • В файле build.gradle в разделе зависимостей {} добавьте зависимость для компилятора комнаты.
kapt "android.arch.persistence.room:compiler:$room_version"

Обратите внимание, что для основанного на Javaиспользование проекта ниже код

annotationProcessor "android.arch.persistence.room:compiler:$room_version"
...