AndroidStudio 极狐下手写编译时注解示例

姚麒
2023-12-01

编译时注解在Android的运用一般就是在编译时通过注解处理器去生成文件,而生成文件可以借助javapoet等技术

下面是Android中在AS 极狐版本下的具体步骤:

1.新建java library,名字随意,该module只用于存放注解

2.新建注解处理器module.也是一个java library,用于存放注解处理器类和处理生成文件的逻辑,该module一般依赖如下:

implementation project(path: ':annolib')  //第一步新增的用于存放注解的module
implementation 'com.google.auto.service:auto-service:1.0-rc2'
annotationProcessor'com.google.auto.service:auto-service:1.0-rc2'//注意需要加上这个,没有这个生成不了文件
implementation 'com.squareup:javapoet:1.10.0'

在该module下新增一个类继承AbstractProcessor,并做生成文件的逻辑处理,至于怎么生成文件,本示例只是做了最简单的演示,具体可以参考源码,这里就不贴代码了。

3.app module做以下依赖:

 implementation project(':annolib')  //第一步新增的用于存放注解的module
 annotationProcessor project(':compiler')  //第二步新增的存放处理器的module

4.编译工程,即可在app/build/generated/ap_generated_sources下生成相关代码

源码地址:https://github.com/shuiming11/compileAnnotation.git

 类似资料: