I would like to know if in an Android project mixing Java and Kotlin files we must use annotationProcessor or kapt, or both ?

In my understanding annotationProcessor must be used for Java files using annotations for code generation, and kapt must be used for Kotlin files using annotations for code generation.

我有一个混合了两种语言的项目,我刚刚替换了构建中的所有annotationProcessor依赖项.卡普格拉德尔.

Can someone explain to me ?

Thank you

推荐答案

首先,Kotlin批注处理工具(KAPT)使用Java编译器来运行批注处理器.如果您的项目包含任何Java类,Kapt会按照设计处理它们.Kotlinlang推荐使用kapt,以防您之前使用Android支持中的annotationProcessor.

JetBrains has a nice article about how kapt works in more detail, its from 2015 but UP-TO-DATE.

Kotlin相关问答推荐

有什么原因,我得到一个空相关的错误在这个代码

在Kotlin 有更好的结合方式?

如何避免使用公共类实现内部接口

Android Studio中的只读集合不支持操作失败的原因是什么?

将 Integer 转换为 Unit 编译成功

如何使用成员引用在 Kotlin 中创建属性的分层路径

如何在 jOOQ 中两次加入同一张表?

如何在 Kotlin 中为变量分配另一个变量的值?

从字符串列表构建字符串

如何使用 Kotlin KClass 属性 simpleName 生成空值

Swift vs Kotlin 在排序数组上的表现

Kotlin 无法找到或加载主类

在 Kotlin 中,当枚举类实现接口时,如何解决继承的声明冲突?

如何创建 Kotlin DSL - DSL 语法 Kotlin

runInTransaction 块内的挂起方法

Kotlin - 来自 KType 的 KClass<*>

kotlin-bom 库是做什么的?

Kotlin 的类型具体化使哪些在 Java 或 Scala 中无法实现的成为可能?

使用 kotlin 每 3 位数添加逗号或点

你如何在 Kotlin 中注释 Pair 参数?