关于导很多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包重复的问题,有了上边的经验,这一次的很快就得到了解决。想起自己第一次写友盟分享的时候也有这样的问题,哪个时候的自己采用了最笨的方法,将需要的文件拷贝进自己的项目中,这样做虽然解决了问题,但是后期的更新就不好做了,所以还是没有从根本上解决问题。这里的问题和解决方法就不赘述了,有问题的可以私信我。





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

关于友盟SDK和支付宝SDK类重复的问题解决--ava.util.zip.ZipException: duplicate entry: com/ut/device/AidCallback.class

首先,摆出问题:        情景:在签名打包是的时候报如下错误: Error:Execution failed for task ':app:transformClassesWithJarMerg...

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

用elipse打包导出jar包出现Problem writing /myApp/WEB-INF/classes/xx/xx.class to JAR: duplicate entry: xx/xx.c...

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

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

【环信升级之坑】duplicate entry: android/support/annotation/ColorRes.class

这个错误跟我之前的不一样,不是clean一下就可以解决的,这个要把所有引用的module的support包全部改成同一个版本的,Android API改成同一个版本的即可。 如果改完了还报这个重复的错...

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
  • 4293

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

java.util.zip.ZipException: duplicate entry: com/nineoldandroids/animation/Animator$AnimatorListener

java.util.zip.ZipException: duplicate entry: com/nineoldandroids/animation/Animator$AnimatorListener...

AndroidStudio 相同jar包配置文件冲突(DuplicateFileException)

关于相同jar包配置文件冲突问题Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. >...

Android Studio 导入包时报 Duplicate files copied in APK 时的解决办法

http://blog.csdn.net/edagarli/article/details/23345771?c=fc4e023034ff74698e576d85de1603fe
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于导很多jar包和类库之后出现的问题
举报原因:
原因补充:

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