关于导很多jar包和类库之后出现的问题

原创 2016年06月01日 22:51:48

最近公司项目需求导了很多的jar包和类库。遇到了许多问题,在这个过程中各种错误各种报,还都是编译能通过运行通不过的错误。给人整的那叫一个懵。在这里将自己遇到的问题以及解决方案分享出来以供大家共同学习

首先我是用AS开发的,我要导的第一个moudle就是环信的easeUI。依赖上之后编译没有问题,运行时就会报错:

Error:Execution failed for task':app:transformClassesWithDexForDebug'.

>com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException: Process 'command'F:\Program Files (x86)\Java\jdk1.8.0_31\bin\java.exe'' finishedwith non-zeroexit value 1

然后在网上找到http://blog.sina.com.cn/s/blog_6f3828770102w30b.html之后那叫一个高兴啊,我就删了自己app里边的V4包。然后又clean,rebuilder。心想总该没事了,但是问题又出现了:

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/annotation/ColorRes.class
我就接着百度,各种说法都有,更让人头疼的是好多回答都是英文的,我虽然是老外的脑残粉,可我的英语也够脑残。无奈之下求助环信的工作人员,给出了解决方案:
解决方案,在build.gradle中添加如下配置:
configurations {
      all*.exclude group: 'com.android.support', module: 'support-v4'
}
当时并不明白为什么这样,就百度了一下,感觉这个说的还靠谱点,大家可以借鉴:http://blog.csdn.net/raptor/article/details/38538037。
但是再次编译运行还是有问题:
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/hyphenate/EMCallBack.class
这次就简单了,一看就知道还是自己app里边的jar包和easeUI里边的重复了。我就去看easeUI里边和自己app里边的jar包,发现hyphenatechat这个jar包重复了,我就把app里边的删除再次编译运行好了。(最后一次出现的问题完全是自己的粗心导致的,当时在看文档的时候按照文档走的,就把那个jar包拷贝进app的lib下边,导入ui库之后我发现了ui库里边也有这个jar包,当时我想删除app中的来着,但是发现ui库里边的并没有add as library,然后我就想当然的以为不管是add进app还是ui库,反正就add了一次应该不会有问题的。然而事实并非如此)
因为在easeUI的build.gradle文件中是这样一句话,
compile fileTree(dir: 'libs', include: ['*.jar'])
这就是当在libs下边有多个jar包时可以用这样一句话包含所有,因为app中有了上述的hyphenatechat包,所以在ui库里
不是add as library的状态,但是也是引用进项目中的,所以就重复了。


解决了这样的问题之后,在写微信支付和友盟第三方登录的时候也遇到了类似的jar包重复的问题,有了上边的经验,这一次的很快就得到了解决。想起自己第一次写友盟分享的时候也有这样的问题,哪个时候的自己采用了最笨的方法,将需要的文件拷贝进自己的项目中,这样做虽然解决了问题,但是后期的更新就不好做了,所以还是没有从根本上解决问题。这里的问题和解决方法就不赘述了,有问题的可以私信我。





版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33234564/article/details/51559830

4.8.一些杂散但值得讨论的问题

本课程零散讲了一些C语言中值得讨论的知识点。譬如main函数的传参和返回值、void类型、NULL宏定义、debug调试宏等。目的是进一步提升大家对C语言的理解深度,提升大家的实战编程能力。
  • 2015年10月22日 10:32

关于“已导出,但存在编译警告”

这是啥意思呢?如图: 倒是不影响程序运行。
  • cctvbt
  • cctvbt
  • 2014-03-03 20:19:12
  • 361

eclipse打包duplicate entry: xx/xx.class 错误

用elipse打包导出jar包出现Problem writing /myApp/WEB-INF/classes/xx/xx.class to JAR: duplicate entry: xx/xx.c...
  • swandragon
  • swandragon
  • 2009-11-30 19:32:00
  • 6859

Eclipse或MyEclipse 报错 “build path contains duplicate entry..."解决方法

打开项目的Properties > Java Build Path 时, 提示:MyEclipse Build path contains duplicate entry:'XXX/xxx/xx...
  • ljcjeff
  • ljcjeff
  • 2013-12-05 11:35:27
  • 6228

环信聊天的基本集成步骤及遇到的问题

首先下载 环信demo,然后就可以开始集成了:       根据环信demo总结的基本的集成步骤如下:              1、根据官方文档 提示的      根据自己需要的功能去 拷贝jar ...
  • XiFangzheng
  • XiFangzheng
  • 2016-08-29 21:09:58
  • 10907

往本地maven库里手动的添加jar包

问题来源:今天需要用到一个maven中央库里没有的jar包,但是又不想直接导入到项目,想通过maven来导入包。 解决方案:Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建...
  • billluffy
  • billluffy
  • 2017-06-23 14:35:36
  • 729

Eclipse 导出jar文件异常总结

1、Eclipse 导出jar文件总结一中第一种方法异常 双击导出的jar, 报错: Failed to load Main-Class 解决:倒数第二步中加入Main-Class   2、...
  • meifage
  • meifage
  • 2011-11-21 15:34:43
  • 309

java 多个第三方jar包冲突解决方案

最近公司在接入腾讯的ysdk(上班以来接第三方sdk最艰难的一次),在这简单说一下哈,就是他们的逻辑太复杂(我觉得有点乱),ysdk和msdk到最后才搞清楚,因为最初是接入他们的msdk,接着接着让换...
  • feng8888bbb
  • feng8888bbb
  • 2017-03-11 18:23:05
  • 2001

secureCRT下linux rz命令上传文件失败或变小(破损)的问题解决方法

在使用secureCRT的linux服务器时候,很多时候需要安装软件,而服务器本身是没有连接外网的 ,这时候就需要用到rz命令了。 在使用rz命令时候,有时候上传文件会失败,是因为上传的文件流中包含...
  • wudishine
  • wudishine
  • 2015-03-09 10:53:08
  • 8326

Java中导出jar包的方法以及错误处理

更多技术文章请访问我的个人博客总结一下关于JAR export finished with warnings.See details for additional information和找不到清单,...
  • rain_web
  • rain_web
  • 2017-02-10 20:48:33
  • 4699
收藏助手
不良信息举报
您举报文章:关于导很多jar包和类库之后出现的问题
举报原因:
原因补充:

(最多只允许输入30个字)