工作中遇到了一个问题,之前有一个负责处理apt的complie 的本地module cardcompile,其他的业务模块在使用的使用 是通过 annotationProcessor ':cardcompile' 的方式引入的。
其中channeltag 是业务模块,cardcompile 就是负责apt的模块。
之后别的同事 在channeltag模块中 也引入了KAPT,之后再编译就会出问题。提示
造成的影响 就是 cardcompile 执行失败,需要通过apt生成的代码 都没出来,导致代码逻辑出了问题。
最后研究了好久,解决的方案 将annotationProcessor ':cardcompile'
改为 kapt project("cardcompile")
感觉应该是gradle 自动替换了annotationProcessor 为kapt,但是kapt对源码module的引入方式 应该是通过project指定,而不能是直接调用。
以上,