Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

【完美解决系列】duplicate entry: com/google/gson/annotations/Expose.class

$
0
0

项目在引入Retrofit2时,运行项目时会报出以下错误:

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

仔细看了下错误报告,确定是gson这个库有重复导致的问题。
因为在项目的build.gradle中新加入

 compile 'com.squareup.retrofit2:retrofit:2.1.0'
 compile 'com.squareup.retrofit2:converter-gson:2.1.0'

那么问题就确定了,因为引入了converter-gson:2.1.0所以出现的错误。

我们先来查找一下Expose.class这个类是有哪些重复使用的类库,在Android Studio中双击Shift键,打开搜索窗口,输入Expose.class。如图:
这里写图片描述
可以发现确实是有两个重复了,那么现在就来解决这个问题。

解决方法:

在项目中找到External Libraries里面的converter-gson-2.1.0。如图:
这里写图片描述
这里写图片描述
打开pom.xml,查看里面gson的groupId。如图:
这里写图片描述
找到gson的groupId后,我们就要把它去掉就可以了,现在就来把它去掉,步骤如下:
打开项目的build.gradle,把原来的compile ‘com.squareup.retrofit2:converter-gson:2.1.0’ 改成这样:

 compile ('com.squareup.retrofit2:converter-gson:2.1.0'){
        exclude group : 'com.google.code.gson'
    }

其中com.google.code.gson就是gson的groupId。
完成之后项目就可以正常运行了!

作者:mvpstevenlin 发表于2017/2/25 10:59:32 原文链接
阅读:85 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>