使用第三方依赖多重引用的问题

使用shareSDK分享的时候,导入jar包后编译报错。一开始是提示:DexArchiveMergerException: Unable to merge dex. 说明引用了多个相同的类,但是不确定是哪个依赖或者是哪个类重复引用了。使用android studio的编译错误分析后提示:weibo sdk Multiple dex files define Lcom/sina/weibo/sdk/TestObject。终于明白是使用shareSDK分享用到了新浪的jar包和之前使用新浪微博第三方登录添加依赖导致的重复引用。


解决:

1.将shareSDK导入的新浪微博jar包剪切出来解压,删除com\sina\weibo\sdk\api\下的TestObject类

2.将这个文件夹重新打包成jar包,导入即可。

说一下文件夹打包成jar包的方法:(windows下)

jar cvfm E:\sina.jar E:\sina\META-INF\MANIFEST.MF -C E:\sina/  .

输入上面的命令即可。上面命令的解释:

1:"E:\sina.jar"是我要生成的jar包,名称可自定义,这里需要指定放在哪个目录下面,否则找不到。这里我放在e盘下面,因此生成的路径就是:E:\sina.jar

2:"E:\sina\META-INF\MANIFEST.MF"是需要指定MANIFEST.MF文件的全路径

3:"E:\sina/"是需要指定压缩的文件夹,也需要指定全路径

4:最后面的''.''不是多余的,是必须的

文件夹打包成jar包是学习了这篇文章,链接:http://blog.csdn.net/mr_pang/article/details/47028921


猜你喜欢

转载自blog.csdn.net/liuxiaopang520/article/details/79541397