前言
简单记录一下,编写编译时注解的几个步骤。
新建Java Module

引入auto-service(自动生成services下文件)和javapoet(生成java文件)
| 1 | compile 'com.google.auto.service:auto-service:1.0-rc2' | 
编写注解
| 1 | @Target(ElementType.TYPE) | 
创建AbstractProcessor实现类
重写getSupportedSourceVersion,getSupportedAnnotationTypes和process方法。注意在类上加入注解AutoService,便会自动生成META-INF下的services文件
| 1 | (Processor.class) | 
实现process方法,根据注解生成对应代码
| 1 | public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { | 
总结
编写的注解以及process的实现只是做个模板,具体情况视情况而定。
