将FindBugs更新为3.0.1后编译Android项目时出错

ult*_*aon 8 plugins android findbugs gradle android-gradle-plugin

更新Findbugs插件高达3.0.1版本后,我无法在Android Studio中编译多模块项目.我还使用"com.google.code.findbugs:annotations:3.0.1"依赖项来使用FindBugs注释(例如@SuppressFBWarnings).

组装项目时出现以下错误:

Execution failed for task ':presentation:packageAllDevelopDebugClassesForMultiDex'.
> java.util.zip.ZipException: duplicate entry: javax/annotation/CheckForNull.class
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

ult*_*aon 6

我解决了这个问题,原因是添加了"com.google.code.findbugs:annotations:3.0.1"其他依赖项('com.google.code.findbugs:jsr305:3.0.1''net.jcip:jcip-annotations:1.0').要修复它,我们需要排除一些传递依赖.

更换:

dependencies {
    compile "com.google.code.findbugs:annotations:3.0.1"
}
Run Code Online (Sandbox Code Playgroud)

dependencies {
    compile ("com.google.code.findbugs:annotations:3.0.1") {
      exclude module: 'jsr305'
      exclude module: 'jcip-annotations'
    }
}
Run Code Online (Sandbox Code Playgroud)

或者

dependencies {
    compile ("com.google.code.findbugs:annotations:3.0.1") {
        transitive = false
    }
}
Run Code Online (Sandbox Code Playgroud)