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