android - 任何处理器都无法识别以下选项:'[kapt.kotlin.generated, room.incremental]'
问题描述
: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
- 房间: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"]
}
}
解决方案
已添加到房间的多模块项目可能会出现此类问题。对于这样的项目,问题是由于将 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"
推荐阅读
- ansible - 无法匹配 Ansible 剧本中提供的主机模式
- regex - 如何从配置单元中的文本中删除非 Ascii 字符(非键盘特殊字符)
- php - 确定今天的日期是否介于 2 个数据库日期之间
- reactjs - 在 digitalocean droplet 中添加域名
- javascript - 我的舰船命令不适用于提及
- java - java中UPDATE语句的并发执行
- arrays - 指针指针导致 C 中的分段错误
- discord - 在 v12 bot 中,此命令不起作用,discord api 错误我该如何解决
- spring-boot - 动态更改 Spring Data 查询字符串
- php - Laravel 7:无法在全新安装时运行开发