升级到Android Studio 2.3后,android-apt的插件不兼容
从2.2升级到2.3后,我看到这个警告
  
 
当我尝试编译项目时,我看到这个编译错误
  
 
我怎样才能解决这个问题,而不降级到以前的gradle版本? 有没有可以解决这个问题的android-apt的更新?
 android-apt插件已被弃用 。 
  Chech在这里为迁移指南 : 
从Android Gradle插件2.2版开始,以前由android-apt提供的所有function现在都可以在Android插件中使用。
 您可以按照迁移指南删除android-apt以获得等效的function。 
迁移指南中的重要部分:
- 确保你在Android Gradle 2.2插件或更新。
- 从构build脚本中删除
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工作方式兼容 ,这就是检查的原因。 
 对我来说,我在使用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' 
 捎带在@ Gabriele Mariotti在这里,因为他的回答是相当现货,暗示这一点,但没有说明。  Gradle也不build议这是一个有效的选项,尽pipe它也是如此。  androidTestApt和testApt的testing等价物是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"