排除两个Android上的重复条目

时间:2016-12-01 03:50:22

标签: android gradle gradlew

我在Android项目和

中使用了2个第三方 aar 依赖项

他们都在使用名为org.spongycastle.util的相同编码库。

但问题在于我编译它时会在Gradle上显示错误

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException:java.util.zip.ZipException: duplicate entry: org/spongycastle/util/encoders/Base64.class

我试图通过

从Gradle complie中排除一个依赖关系
compile(name: 'libraryname', ext: 'aar') {
    exclude group: 'org.spongycastle.util'
}

但没有解决问题的好运:(

任何帮助都会被理解为排除或忽略一个依赖

1 个答案:

答案 0 :(得分:0)

看起来jar文件org.spongycastle.util本身包含重复的条目。我在xmlbean jar文件中看到了同样的问题。然而,Android并不喜欢重复的条目。解决此问题的一种方法是下载该特定jar文件并删除其中一个重复条目,并将修改后的jar添加到libs文件夹中。此外,您还需要将其从与之关联的相应编译依赖项中排除。您需要进行测试以确保删除其中一个副本并不会破坏任何内容。如果两个重复类的内容是等价的,那么删除其中一个副本就不会有任何后果。