如何解决重复条目重复条目:javax / annotation / ParametersAreNullableByDefault.class

时间:2015-04-20 22:27:51

标签: android cordova android-studio gradle crosswalk-runtime

我对Gradle构建系统和Android Studio很陌生,并且无法弄清楚如何解决此问题。我的构建失败了:

  * What went wrong:
  Execution failed for task ':cyanEngine:packageAllDebugClassesForMultiDex'.
  > java.util.zip.ZipException: duplicate entry:      javax/annotation/ParametersAreNullableByDefault.class

如果我执行 Ctrl + N 并搜索 ParametersAreNullableByDefault 。一个参考指向外部库 |的 jsr305-1.3.9 即可。另一个指向 xwalk_core_library 下的 classes.jar

xwalk_core_library在我的xwalk_cordova模块中通过以下方式引用:

{
  android{
    dependencies{
        compile 'org.xwalk:xwalk_core_library:11.40.277.7'
    }
}

我的应用程序的gradle依赖项有:

compile project (':xwalk_cordova')

似乎我需要摆脱外部图书馆,但我不知道它来自哪里。

有关如何解决此问题的任何指示?

更新 我发现外部引用来自Guava,通过compile ('com.google.guava:guava:11.0.2')在应用程序build.gradle中引用。刚刚更新到Guava版本18.0似乎让我现在已经过了这个。猜猜新版本不再依赖于jsr。

不过,我觉得我会再遇到这种情况。基本上,我们有两个第三方库,具体取决于相同的库。什么是清理它的最佳方法?

我注意到robolectic,有一个排除,我猜测是出于类似的原因:

testCompile('org.robolectric:robolectric:3.0-rc2') {
    exclude group: 'commons-logging', module: 'commons-logging'
    exclude group: 'org.apache.httpcomponents', module: 'httpclient'
}

我很好奇这个陈述是如何运作的,并且不太了解Gradle文档。这句话是什么意思?在哪里'组'和'模块'来自?

0 个答案:

没有答案