美文网首页
Annotation processors must be ex

Annotation processors must be ex

作者: andcoder | 来源:发表于2017-12-14 17:18 被阅读14次

    Android Studio升级到最新版3.0 Canary 8后,当使用到注解时,报了如下错误:

    Error:Execution failed for task ':app:javaPreCompileDebug'.
    > 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-8.8.1.jar
      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.
    

    借鉴网友的解决方法,在引用注解库的module下的build.gradle文件中,添加了如下配置。

    android {
        ...
        
        defaultConfig {
            ...
    
            javaCompileOptions { 
                annotationProcessorOptions { 
                    includeCompileClasspath = true 
                } 
            }
        }
        
        ...
    }
    

    遗憾的是,添加上述配置之后,仍然出现这个错误;

    这个时候转念一想,工程结构是多module形式的,会不会是重复依赖导致的呢?顺着这个想法,到每个module下的build.gradle文件搜索,发现的确在两个module下都依赖了butterknife注解库。

    找到问题就很好解决了,只要去除掉其中一个依赖就可以了。

    相关文章

      网友评论

          本文标题:Annotation processors must be ex

          本文链接:https://www.haomeiwen.com/subject/sfokwxtx.html