首页 > 解决方案 > 任何处理器都无法识别以下选项:'[kapt.kotlin.generated, room.incremental]'

问题描述

:app:kaptDebugKotlin
w: warning: The following options were not recognized by any processor: '[kapt.kotlin.generated, room.incremental]'

为什么我会得到这个?我在一个多模块项目中使用 Room。

共享库模块: 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"]
        }
    }

标签: androidkotlinandroid-roomkapt

解决方案


已添加到房间的多模块项目可能会出现此类问题。对于这样的项目,问题是由于将 RoomDatabase 派生类添加到库模块,但配置了 app 模块的 build.gradle 引起的。

解决方案是配置包含 RoomDatabase 派生类的模块的 build.gradle。

  • 在 dependencies{} 部分的 build.gradle 文件中,添加房间编译器的依赖项。
kapt "android.arch.persistence.room:compiler:$room_version"

请注意,对于基于 java 的项目,请使用以下代码

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

推荐阅读