Android apt从1.4更新到1.7版本

2020年6月29日 19点热度 0条评论

嗨,我想将项目中的 android-apt 1.4 升级到 1.7

目前,我正在使用 Google自动服务1.0-rc2 ,因此,我要做的就是将@AutoService(Processor.class)批注放入批注处理器类中。

android-apt 更新为 1.7 版本后,我的注释处理器停止工作。似乎在构建期间未调用它。

我认为自动服务可能是问题。所以我用内容制作了resources/META-INF/services/javax.annotation.processing.Processor文件

pl.edu.radomski.navigator.NavigatorAnnotationProcessor

可悲的是它根本没有帮助。

如果要查看
android-apt 1.4
auto-service 1.0-rc2 的代码,则可以使用
here

有没有简单的方法来升级android-apt并保持处理器正常工作?

这是
auto-service 1.0-rc2 故障,还是
android-apt 出了点问题?

解决方案如下:

在1.7中,由于不希望有的副作用会影响构建顺序,因此进行了更改,以不自动构 build 置为apt的依赖项目。

在1.8中,我可能会有更好的方法来支持它,但是与此同时,您可以配置apt块来指定处理器应按以下方式运行:

apt {
 processor "pl.edu.radomski.navigator.NavigatorAnnotationProcessor"
}

请注意,仅当处理器与应用程序或库位于同一项目中时才需要。原因是在此设置中
META-INF/services不会读取
javac中的文件,因为此时未打包项目。显式添加
processor语句将添加
javac否则无法发现的处理器。