前言
从GitHub上克隆了一个项目,在依赖下有个ButterKnife的错误:
Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to contain annotation processor. Please add them to the annotationProcessor configuration.
- butterknife-7.0.1.jar (com.jakewharton:butterknife:7.0.1)
Alternatively, set android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true to continue with previous behavior. Note that this option is deprecated and will be removed in the future.
See https://developer.android.com/r/tools/annotation-processor-error-message.html for more details.
解决办法一:
在app的build中添加下面的代码(没有试过,可能会失效)
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath true
}
}
}
解决办法二:
修改依赖:
provided 'com.jakewharton:butterknife:7.0.1'
annotationProcessor 'com.jakewharton:butterknife:7.0.1'
但是provided已经被替换为compileOnly,所以需要改为:
compileOnly 'com.jakewharton:butterknife:7.0.1'
annotationProcessor 'com.jakewharton:butterknife:7.0.1'
解决办法三:
我在试了第二种方法后,仍出现错误build时可以通过,但在手机上运行时程序闪退,存在以下错误:
java.lang.NoClassDefFoundError: Failed resolution of: Lbutterknife/ButterKnife;
at com.kevin.imagecrop.activity.basic.Bas