duplicate entry: com/google/gson/annotations/Expose.class报错解决

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. > com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/gson/annotations/Expose.class


参考http://blog.****.net/mvpstevenlin/article/details/57075112和 http://blog.****.net/cx1229/article/details/52779722

在写项目时,用真机进行测试一直都是没有问题,但当我进行打包时就出现这个报错了,所以上网找相关的资料了。

如链接1一样,在AS的窗口中双击Shift,然后弹出搜索框

duplicate entry: com/google/gson/annotations/Expose.class报错解决

看见除了本地libs有一个jar包外还有一个保存在硬盘中。。。然后想去删除了这个目录,但当重启项目后,删除的东西还是会再出现的。

然后就想一下查过的资料,因为这个报错的gosn与保存和网络之类相关的,所以只能 慢慢的看一下自己引用的包了。最后发现一个发送请求和下载文件的

compile 'com.mph.okdroid:okdroid:1.0.0'

还有一点就是只要在libs中引用 的jar包都不会出现在External Libraries中

duplicate entry: com/google/gson/annotations/Expose.class报错解决duplicate entry: com/google/gson/annotations/Expose.class报错解决

compile ('com.mph.okdroid:okdroid:1.0.0'){
    exclude group : 'com.google.code.gson'
}
解决这一个BUG后,又出现了okhttp和okio的重复问题,所以又在这个链接上添加

compile ('com.mph.okdroid:okdroid:1.0.0'){
    exclude group : 'com.google.code.gson'
    exclude group : 'com.squareup.okhttp3'
    exclude group : 'com.squareup.okio'
}
到了这里以为可以安心 的打包了,但还有错,我也晕了,最后在
defaultConfig

中添加了

multiDexEnabled true
就可以了。