6. 注解

自定义Java注解处理器 Java注解

1

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

2

apply plugin: 'java-library'

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')

    implementation project(':annotation')
    //用于自动为 JAVA Processor 生成 META-INF 信息。
    implementation 'com.google.auto.service:auto-service:1.0-rc3'
    //快速生成.java文件的库
    implementation 'com.squareup:javapoet:1.8.0'
}

3

Element代表程序的一个元素,可以是package、class,、interface、 method、field,只在编译期存在。

具体来说,可以按如下分类:

  • PackageElement 一般代表Package

  • TypeElement 一般代表代表类

  • VariableElement 一般代表成员变量

  • ExecutableElement 一般代表类中的方法

    4 javapoet

APT即为Annotation Processing Tool

参考 Android编译时注解–入门篇(AbstractProcessor、APT)

Java进阶–编译时注解处理器(APT)详解