1

嗨,我想将项目中的android-apt1.4版本升级到1.7

目前我正在使用Google auto-service 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.4auto-service 1.0-rc2查看代码, 请点击此处

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

这是自动服务 1.0-rc2故障还是android-apt有什么问题?

4

1 回答 1

2

在 1.7 中进行了更改,以不自动构建设置为 的依赖项目apt,因为不需要的副作用会影响构建顺序。

在 1.8 中,我可能会有更好的方法来支持它,但同时您可以配置该apt块以指定您的处理器应该像这样运行:

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

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

于 2015-09-13T11:48:32.863 回答