android/support/v4/hardware/display/DisplayManagerCompat$JellybeanMr1Impl.class

题引:同事需要使用第三方库,由于这些第三方库使用的v4包版本跟我们编写的项目所使用的v4包版本不同而导致了一个bug(duplicate entry) 。
  • 引入recyclerview-swipe
  • 引入butterknife
  • bug来了
  • Instant Run

某同事引入recyclerview-swipe和butterknife

compile 'com.yanzhenjie:recyclerview-swipe:1.0.2'

compile 'com.jakewharton:butterknife:8.5.1'

bug来了

* What went wrong:
Execution failed for task ':yangsheng:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/hardware/display/DisplayManagerCompat$JellybeanMr1Impl.class
奇怪的是,其他同事并没有报错!!!

Instant Run

最终发现同事没有报错是因为开启了Instant Run,因为Instant Run会自动过滤包冲突。

解决思路

刚开始,以为是引入recyclerview-swipe导致的,因为recyclerview-swipe使用的v4包跟我们项目使用的v4包版本不同。修改gradle如下:
compile('com.yanzhenjie:recyclerview-swipe:1.0.2') {
        exclude module: 'recyclerview-v7'
}
然而并没有什么卵用!!!
终于发现问题了,是引入butterknife导致的bug,gradle修改如下:
compile('com.jakewharton:butterknife:8.5.1') {
        exclude module: 'support-compat'
}
最终编译成功通过并且能够安装运行。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值