com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/annotation/ColorRes.class
保存信息如上:
我在添加一个支持库的时候遇的问题,这个库com.yanzhenjie:album:1.0.5
这是由于v4包重复导致的,在网上我也找过多种解决方案
用了这种,方式 configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
all*.exclude group: 'com.android.support', module: 'support-annotations'
}
all*.exclude group: 'com.android.support', module: 'support-v4'
all*.exclude group: 'com.android.support', module: 'support-annotations'
}
和这种搞的
compile ('com.yanzhenjie:album:1.0.5'){
exclude module: 'support-v4'
exclude module: 'support-annotations'
}
exclude module: 'support-v4'
exclude module: 'support-annotations'
}
这两种方式都无效
原因可能是支持库中使用的较高的版本编译的,貌似高版本里面直接引用了v4包,所以不需要在引用
而我的另一个引用支持module里面有v4jar包,删除是肯定不行的,会报错找不到文件,但是不删还有冲突,
于是我纠结了好久没解决,偶然的一天,突然解决了,解决方案如下:
1.删除依赖支持module中的v4包这时候报错
2.找到报错文件,在报错位置alt+enter(提示功能),此时提示框出来,如下,这时候提示框第一个就提示让add 一个libary支持xxx这是什么吊,先不管,点了再说
3.点了以后咦,突然好了,这是怎么回事?(稍后再讲)
4.在运行Fragement也找不到
5.同理导入
6.在运行好了
7.这究竟是做了什么了?原来是工具在module下的build.gradle下加入了下面两个,第一次导入的就是第一个,第二次就是第二个喽
伸手粘贴党专享福利:
compile 'com.android.support:support-core-ui:25.3.1'
compile 'com.android.support:support-fragment:25.3.1'
8.其实这个错误是多个v4重复导致的,高版本中有的包含有了v4,所以会出现冲突现象,不过这个问题还挺不好搞
本篇文章属于原创,真心很累打了这么多字,给点个赞吧