Answers:
该android-apt
插件已被弃用。
在此处查看迁移指南:
从Android Gradle插件2.2版开始,Android插件中现已提供了以前由android-apt提供的所有功能。
您可以android-apt
按照迁移指南进行删除,以获取等效的功能。
迁移指南中的重要部分:
- 确保您使用的是Android Gradle 2.2插件或更高版本。
android-apt
从构建脚本中删除插件- 更改所有
apt
,androidTestApt
并testApt
依赖他们的新格式:
dependencies {
compile 'com.google.dagger:dagger:2.0'
annotationProcessor 'com.google.dagger:dagger-compiler:2.0'
}
同样在Android Gradle插件中对此有一个明确的检查,这就是您所看到的:
使用不兼容的插件进行批处理android-apt
未来的Android Gradle插件版本将与android-apt
工作方式不兼容,这就是进行此检查的原因。
android-apt
工作方式不兼容,这就是进行此项检查的原因。
对我来说,在使用Contentful的Vault
库时出现此错误,该库指定您包括:
apply plugin: 'com.neenbedankt.android-apt'
和
compile 'com.contentful.vault:core:2.1.0'
apt 'com.contentful.vault:compiler:2.1.0'
您需要做的是删除 apply plugin: 'com.neenbedankt.android-apt'
然后更改:
compile 'com.contentful.vault:core:2.1.0'
apt 'com.contentful.vault:compiler:2.1.0'
至
annotationProcessor 'com.contentful.vault:compiler:2.1.0'
annotationProcessor 'com.contentful.vault:core:3.0.1'
您可以随时检查https://github.com/contentful/vault以获取最新版本
在这里ggy带@Gabriele Mariotti,因为他的回答很明确,暗示但未声明。Gradle也不建议这样做,尽管它也是有效的。测试等价物androidTestApt
和testApt
是androidTestAnnotationProcessor
和testAnnotationProcessor
。
例:
testApt "com.google.dagger:dagger-compiler:$daggerVersion"
androidTestApt "com.google.dagger:dagger-compiler:$daggerVersion"
应该改为
testAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"