Arouter源码解析(三)——Javapoet 生成文件的位置

从Arouter的源码中我一直有一个疑问:module-java里面的Javapoet生成的代码的位置和我自己的测试项目的不同。看下面的图:
图一是Arouter的
在这里插入图片描述图二是我自己的demo
在这里插入图片描述看到kapt底时候也这样推断过这其实是kotlin和java分开了,但我测试了demo,分别用java和kotlin的activity做测试,结果都在kapt下面:所以总觉得不对。

后来我发现在Arouter 的module-kotlin模块和我是一致的,下图所示
在这里插入图片描述这就印证了,还是把kotlin和java分开的猜想,但当kotlin和java都有的时候,会在kapt下。
APT和KAPT

APT (Annotation Processor Tool):注解处理器是一个在javac中的,用来编译时扫描和处理的注解的工具。你可以为特定的注解,注册你自己的注解处理器。
注解处理器可以生成Java代码,这些生成的Java代码会组成 .java 文件,但不能修改已经存在的Java类(即不能向已有的类中添加方法)。而这些生成的Java文件,会同时与其他普通的手写Java源代码一起被javac编译。
KAPT与APT完全相同,只是在Kotlin下的注解处理器。
这在其他博客上面也得到了印证:关于kapt的,很不错的文章
在这里插入图片描述

未完,待续。。。

猜你喜欢

转载自blog.csdn.net/u012553125/article/details/125085604