作者:LoisWangol_326 | 来源:互联网 | 2023-02-09 19:00
将Android Studio更新为2.3版本后,我发出警告:
警告:使用不兼容的插件进行注释处理:android-apt.这可能会导致意外行为.
有解决方案吗 我的应用停止了工作......
1> Mark Keen..:
您的应用程序级别gradle依赖项应包括(根据butterknife网站说明):
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
你可以删除该行:
apply plugin: 'com.neenbedankt.android-apt'
注释处理在Android Gradle插件(2.2及更高版本)中可用,因此如果使用此版本的gradle或更高版本,现在不再需要使用上述插件.
如果您想知道如何关闭和打开注释处理,并且AS设置在:
设置>构建,执行,部署>编译器>注释处理器
2> Milan Hlinák..:
在我的项目中,我使用了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'
}
}
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'
}
改变之后
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的类路径(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'