java.util.zip.ZipException: duplicate entry(重复依赖多版本的类库)
来源:互联网 发布:淘宝上抓卖保健品的 编辑:程序博客网 时间:2024/05/17 02:53
同步SVN仓库中的代码,更新后,运行项目,出现如下错误:
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: uk/co/senab/photoview/BuildConfig.class
以上大概意思:重复依赖,重复了条目。
找到原因,对症下药。想想应该不难哦,减少重复依赖的库貌似可以搞定了。
1.在Gradle中, 删除photoview的依赖包:
在Gradle中先注释掉photoview的依赖库,试验下,是否该库重复。
dependencies { // compile 'com.bm.photoview:library:1.4.1'}
这下应该可以了吧,一运行,傻眼了。结果无效,依旧报错。
注意点:
除开Gradle依赖类库之外,还可以在项目中的libs下静态方式添加类库。
若是使用静态方式添加jar类库的,请删除重复的jar。
2. 接着,在项目中根目录中打开命令行或者AndroidStudio中的terminal窗口中运行:
Mac os系统:
./gradlew clean
Wind系统:
gradlew clean
执行完清除gradle的命令行后。欢天喜地的去调试,结果无效,依旧报错。感觉有点不对经呀,怎么还不行哦,又是找到假李逵了,还得继续找真李逵。
3. 继续查找问题,查看输出的依赖包:
在AndroidStudio的Project视图下,查看.idea文件夹–>libraries文件夹–>PhotoView_1_3_1.xml(对应依赖库的日志)。
<component name="libraryTable"> <library name="PhotoView-1.3.1"> <CLASSES> <root url="file://$USER_HOME$/.android/build-cache/820a5f0226a474bc3f9a23b30f05e8cad9c35149/output/res" /> <root url="jar://$USER_HOME$/.android/build-cache/820a5f0226a474bc3f9a23b30f05e8cad9c35149/output/jars/classes.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files- 2.1/com.github.chrisbanes/PhotoView/1.3.1 /caadf2c4a254899b467496e282e7463e8726ff9f/PhotoView-1.3.1-sources.jar!/" /> </SOURCES> </library></component>
神奇发现,在Module的Gradle中没有依赖该包,这可能真是让人无语,原来一直在坑中打转哦。
个人猜测,可能是团队中其他小伙伴是引入的类库中引用了该包。
在External Libraries文件下查看,确实存在两个不同版本的PhotoView库,存在1.2.4和1.3.1版本。
4. 添加去除重复依赖的库的代码:
android{ configurations { all*.exclude module: 'PhotoView' //去除重复依赖库 }}
历经两三个小时的踩坑,最后大功告成,完美脱坑。
这个坑不难,就是怕找错方向,白白在坑中打转。记录下来,以免后期遇到这种奇葩问题。
资源参考:
StackOverFlow上重复依赖多版本的库(解决方式):
https://stackoverflow.com/questions/26966843/java-util-zip-zipexception-duplicate-entry-during-packagealldebugclassesformult
- java.util.zip.ZipException: duplicate entry(重复依赖多版本的类库)
- java.util.zip.ZipException: duplicate entry(重复依赖多版本的类库)
- 重复依赖多个版本的库,java.util.zip.ZipException: duplicate entryd的解决方式
- java.util.zip.zipException:duplicate entry
- support-v4、support-v7 的依赖关系及 Getting java.util.zip.ZipException: duplicate entry exception 的处理
- 关于错误java.util.zip.ZipException: duplicate entry during packageAllDebugClassesForMultiDex
- java.util.zip.ZipException: duplicate entry during packageAllDebugClassesForMultiDex
- 解决java.util.zip.ZipException: duplicate entry during packageAllDebugClassesForMultiDex
- java.util.zip.ZipException: duplicate entry during packageAllDebugClassesForMultiDex
- android开发出现java.util.zip.ZipException: duplicate entry..
- androidstuido报错之Java.util.zip.ZipException: duplicate entry
- Android中运行程序后出现的错误java.util.zip.ZipException:duplicate entry
- java.util.zip.ZipException: duplicate entry: com/ut/device/UTDevice.class问题的解决方式
- Grade编译错误 java.util.zip.ZipException: duplicate entry的解决方法
- 关于友盟SDK和支付宝SDK类重复的问题解决--ava.util.zip.ZipException: duplicate entry: com/ut/device/AidCallback.class
- 我的Android进阶之旅------>Android编译错误java.util.zip.ZipException: duplicate entry的解决方法
- 第三方集成的坑如:java.util.zip.ZipException: duplicate entry: com/ta/utdid2/android/utils/AESUtils.class
- Exception_android_java.util.zip.ZipException: duplicate entry:android/support/multidex/MultiDex
- Java中的Runtime类
- 华为OJ——数据分类处理
- Leetcode--Add to List 201. Bitwise AND of Numbers Range
- 自动调用,代码块
- Elasticsearch概述
- java.util.zip.ZipException: duplicate entry(重复依赖多版本的类库)
- JS本地数据库创建和查询
- Linux GCC共享内存
- RabbitMQ分布式集群架构
- 主日学 | 以福音为中心的婚礼
- CJOJ 1131 机器分配/Luogu 2066 机器分配
- tbody、thead
- RabbitMQ分布式集群架构
- 全排列非递归算法