在我的项目中,除其他外,我使用黄油刀和不可变物品。 添加不可变对象后,出现以下警告
警告:使用不兼容的插件进行注释处理: android-apt。 这可能会导致意外的行为。
ButterKnife停止工作。
我的配置如下:
build.gradle(项目: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'
警告消失,一切正常。
更新
正如Mark所说,Gradle 2.2版中包括了一个注释处理器,因此没有理由提供额外的注释处理器。
所以:
1)从build.gradle中删除apt的类路径(项目:MyApplication)
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
2)从build.gradle中移除插件(模块:app)
apply plugin: 'android-apt'
3)将依赖项从apt更改为新的notificationProcessor
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
annotationProcessor 'org.immutables:value:2.4.4'