Android Studio警告:使用不兼容的插件进行注释处理

更新Android Studio到2.3版本后,我有警告:

警告:使用不兼容的插件进行注释处理:android-apt。 这可能会导致意外的行为。

任何解决scheme 我的应用停止工作…

您的应用程序级别依赖关系应该包括(根据butterknife网站的说明):

 compile 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' 

您可以删除该行:

 apply plugin: 'com.neenbedankt.android-apt' 

Annotation Processing在Android Gradle插件(2.2及更高版本)中变得可用,所以如果使用这个版本的gradle或更高版本,现在不需要再使用上面的插件了。

如果您想知道如何closures标注处理,并且设置在:

设置>构build,执行,部署>编译器>注释处理器

在我的项目中,我使用了黄油刀和不可变物。 添加Immutables后,我得到了以下警告

警告:使用不兼容的插件进行注释处理:android-apt。 这可能会导致意外的行为。

黄油刀停止工作。

我的configuration如下:

build.gradle(Project:MyApplication)

 buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.3.1' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' } } 

build.gradle(模块:应用程序)

 apply plugin: 'com.android.application' apply plugin: 'android-apt' ... dependencies { ... // Butter Knife compile 'com.jakewharton:butterknife:8.5.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' // Immutables apt 'org.immutables:value:2.4.4' provided 'org.immutables:value:2.4.4' provided 'org.immutables:builder:2.4.4' provided 'org.immutables:gson:2.4.4' } 

改变后

 annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' 

 apt 'com.jakewharton:butterknife-compiler:8.5.1' 

警告消失,一切正常。

UPDATE

正如Mark所说,Gradle版本2.2中包含了一个注释处理器,所以没有理由再提供一个。

所以:

1)从build.gradle中删除apt的类path(Project:MyApplication)

 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 

2)从build.gradle中移除插件(Module:app)

 apply plugin: 'android-apt' 

3)将apt依赖关系更改为新的annotationProcessor

 annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' annotationProcessor 'org.immutables:value:2.4.4'