annotationProcessor 、kapt、ksp分别是啥

annotationProcessorkaptksp 都是用于处理代码注解(Annotation)并生成额外代码的工具,但它们在技术实现、适用场景和性能方面有所不同。以下是它们的区别和用途:


1. annotationProcessor

  • 适用场景
    专为 Java 项目设计,用于在 Java 编译时处理注解(如 Lombok、Dagger 等)。
  • 工作原理
    在 Java 编译阶段调用注解处理器(Annotation Processor),根据注解生成代码(如 DaggerComponentRoom_Database 类)。
  • 配置方式
    在 Gradle 中通过 annotationProcessor 声明依赖:
    dependencies {
        annotationProcessor "com.google.dagger:dagger-compiler:2.x"
    }
    
  • 限制
    无法直接处理 Kotlin 代码,因为 Kotlin 的编译流程与 Java 不同。

你可能感兴趣的:(android)