Android程序编译时报错:duplicate entry: android/support/v4/content/res/TypedArrayUtils.class

编写不易,如有转载,请声明出处:http://blog.csdn.net/zxc514257857/article/details/72633396

  为了解决这个报错,弄到晚上快12点,现在怀着激动的心情记录一下解决过程:

报错全部内容如下:

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/content/res/TypedArrayUtils.class

报错分析

  根据报错信息分析是重复依赖了V4包导致的报错。
  因为使用AndroidStudio,我们大部分时候默认使用的是v7包,而V7包默认包含V4包的,一旦我们依赖的第三方如果使用V4包,就有可能导致V4包中文件的冲突。

网上的解决办法如下:

  方法一:
  项目中和依赖库中都有明显的V4包依赖,删除一个就可以了。也有可能是项目中的Libs文件中既添加了V4的jar包又添加了V4包的依赖。
  这两种情况都比较简单,我不会犯这样的错误

  方法二:
  不删除第三方库中的V4包,直接在主工程Module的build.gradle文件中添加如下:

configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
}

  这个我也试过,但没有解决我的问题

  方法三:
  项目中和依赖库中都使用V7包,将依赖库中的V7包换成对应版本的V4包,比如:v7:25.1.0 和v4:25.1.0

我自己实现的方法:

  我发现我项目中和依赖库中都依赖的是V7包,而且我删掉依赖库中的V7包后,依赖库中的需要V4包支持的代码会报错,没有使用项目中的V4包,所以依赖库中的V4的依赖不能删掉,我在网上找到了方法三,更换之后还是报错,但我将v4包改为目前最新版本 v4:26.0.0-alpha1 依赖时,问题解决

  真神奇的报错!关键是项目已经迭代了7个版本,之前开发了几个月都没有出现这个问题,今天一打开项目就报着个错误,真是抽风了,而且问题解决后现在感觉还是莫名其妙的,现在时间0:06,下班回家!

----------因本人才疏学浅,如博客或Demo中有错误的地方请大家随意指出,与大家一起讨论,共同进步,谢谢!----------

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DreamBackTo

感谢各位金主大大(* _ *)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值