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

K. *_*ski 51 android warnings android-studio

将Android Studio更新为2.3版本后,我发出警告:

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

有解决方案吗 我的应用停止了工作......

Mar*_*een 125

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

compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
Run Code Online (Sandbox Code Playgroud)

你可以删除该行:

apply plugin: 'com.neenbedankt.android-apt'
Run Code Online (Sandbox Code Playgroud)

注释处理在Android Gradle插件(2.2及更高版本)中可用,因此如果使用此版本的gradle或更高版本,现在不再需要使用上述插件.

如果您想知道如何关闭和打开注释处理,并且AS设置在:

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


Mil*_*nák 39

在我的项目中,我使用了Butter Knife和Immutables等.添加Immutables后,我收到了以下警告

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

而ButterKnife停止了工作.

我的配置如下:

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'
    }
}
Run Code Online (Sandbox Code Playgroud)

build.gradle(模块:app)

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'

}
Run Code Online (Sandbox Code Playgroud)

改变之后

annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
Run Code Online (Sandbox Code Playgroud)

apt 'com.jakewharton:butterknife-compiler:8.5.1'
Run Code Online (Sandbox Code Playgroud)

警告消失了,一切正常.

UPDATE

正如Mark所说,Gradle 2.2版中包含了一个注释处理器,因此没有理由提供额外的注释处理器.

所以:

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

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
Run Code Online (Sandbox Code Playgroud)

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

apply plugin: 'android-apt'
Run Code Online (Sandbox Code Playgroud)

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

annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
annotationProcessor 'org.immutables:value:2.4.4'
Run Code Online (Sandbox Code Playgroud)