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

Posted

技术标签:

【中文标题】什么是 Android kapt 及其用法?添加依赖项时,Gradle 中的注解处理器和 kapt 有什么区别?【英文标题】:What is Android kapt and its usage? What's the difference between anootation processor and kapt in Gradle when adding dependencies? 【发布时间】:2020-08-30 18:51:01 【问题描述】:

我对 android 中引入的与 Kotlin 相关的最新注释处理器有点困惑,它是 “卡普特” 问题:

    什么是 kapt(kotlin 注释处理工具)及其用例? 或者什么 apply plugin: 'kotlin-kapt' 可以帮助我们 我们的安卓项目。

    Gradle中Kapt和annotationProcessor的区别

    例子:-

    //Dagger with annotationProcessor vs with kapt

    annotationProcessor 库.daggerCompiler

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

【问题讨论】:

其实和实现和编译无关,它只是支持kotlin中的handle annotation,你应该搜索annotationProcessor和kapt的比较 @CôngHải :当然可以。跟进问题,当我拒绝 kapt "androidx.room:room-compiler:$rootProject.roomVersion" 时,我是否告诉编译器我使用的带有 @module @Entity 等注释的房间组件用 kapt 注释? 1. Kapt 是 Kotlin 注释处理工具,如今它的状态非常好。如果您希望能够引用从 Kotlin 生成的代码,则需要使用 kapt。为此,只需将插件包含在您的 build.gradle 文件中:apply plugin: 'kotlin-kapt' 2. 通常使用 annotationProcessor 关键字来指定处理器依赖项,而不是使用 kapt 关键字 【参考方案1】:

"Kapt is the Kotlin Annotation Processing Tool" 你需要这个,在编译时生成带注释的代码 你可以在this文章中看到更多信息

【讨论】:

1. Kapt 是 Kotlin 注释处理工具,如今它的状态非常好。如果您希望能够引用从 Kotlin 生成的代码,则需要使用 kapt。为此,只需将插件包含在您的 build.gradle 文件中:

以上是关于什么是 Android kapt 及其用法?添加依赖项时,Gradle 中的注解处理器和 kapt 有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章

Android编译优化系列-kapt篇

Android编译优化系列-kapt篇

Android - 使用 gradle 3.2.1 构建数据绑定和 kapt 失败

数据绑定注释处理器 kapt 警告

告别KAPT,使用KSP为Android编译提速

错误:将 Android Studio 更新到 3.2 后,无法更改配置 ':android:kapt' 的属性