什么是Android kapt及其用途?在Gradle中添加依赖项时,注解处理器和kapt之间有什么区别?

27

我对 Android 中最新的注释处理器和与 Kotlin 相关的"kapt" 有些困惑。

  1. kapt (kotlin 注释处理工具) 是什么及其使用案例? 或者在我们的 Android 项目中,apply plugin:'kotlin-kapt' 有何作用?

  2. Kapt 与 Gradle 中的 annotationProcessor 的区别

    例如:

    //Dagger 使用 annotationProcessor 与 kapt

    annotationProcessor libraries.daggerCompiler

    kapt "androidx.room:room-compiler:$rootProject.roomVersion"


实际上,这与实现或编译无关,它只是支持处理 Kotlin 中的注释。您应该搜索注解处理器和 kapt 之间的比较。 - Công Hải
@CôngHải:好的,我会做的。接下来的问题是,当我定义kapt“androidx.room:room-compiler:$rootProject.roomVersion”时,我是在告诉编译器我使用的Room组件,如@module @Entity等带有注释的组件都被标注为kapt吗? - Khay
  1. Kapt 是 Kotlin 注解处理工具,现在已经非常成熟。如果您想从 Kotlin 引用生成的代码,您需要使用 kapt。为此,只需在 build.gradle 文件中包含插件行:apply plugin: 'kotlin-kapt'。
  2. 在通常使用 annotationProcessor 关键字指定处理器依赖项的位置,改用 kapt 关键字。
- vijay chhalotre
从其网站上了解到,@vijaychhalotre 的状况不太好:“kapt处于维护模式。我们将其与最新的Kotlin和Java版本保持同步,但没有实现新功能的计划。” - Dzmitry Lazerka
1个回答

20

"Kapt是Kotlin注解处理工具",您需要它来在编译时生成带注释的代码。您可以在这篇文章中了解更多信息。


  1. Kapt 是 Kotlin 注解处理工具,现在已经非常成熟。如果您想从 Kotlin 引用生成的代码,您需要使用 kapt。为了做到这一点,只需在您的 build.gradle 文件中包含插件,并添加以下行:
- vijay chhalotre

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接