java.util.zip.ZipException: duplicate entry(重复依赖多版本的类库)

同步SVN仓库中的代码,更新后,运行项目,出现如下错误:

com.android.build.api.transform.TransformException: 

java.util.zip.ZipException: duplicate entry: uk/co/senab/photoview/BuildConfig.class
  • 1
  • 2
  • 3

以上大概意思:重复依赖,重复了条目。

找到原因,对症下药。想想应该不难哦,减少重复依赖的库貌似可以搞定了。

1.在Gradle中, 删除photoview的依赖包

在Gradle中先注释掉photoview的依赖库,试验下,是否该库重复。

dependencies {
    //   compile ‘com.bm.photoview:library:1.4.1‘
}
  • 1
  • 2
  • 3

这下应该可以了吧,一运行,傻眼了。结果无效,依旧报错。

注意点

除开Gradle依赖类库之外,还可以在项目中的libs下静态方式添加类库。

若是使用静态方式添加jar类库的,请删除重复的jar

2. 接着,在项目中根目录中打开命令行或者AndroidStudio中的terminal窗口中运行

Mac os系统:

./gradlew clean  
  • 1

Wind系统:

gradlew clean
  • 1

执行完清除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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

神奇发现,在Module的Gradle中没有依赖该包,这可能真是让人无语,原来一直在坑中打转哦。

个人猜测,可能是团队中其他小伙伴是引入的类库中引用了该包。

在External Libraries文件下查看,确实存在两个不同版本的PhotoView库,存在1.2.4和1.3.1版本。

4. 添加去除重复依赖的库的代码

android{
    configurations {
        all*.exclude  module: ‘PhotoView‘  //去除重复依赖库
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5

历经两三个小时的踩坑,最后大功告成,完美脱坑。

这个坑不难,就是怕找错方向,白白在坑中打转。记录下来,以免后期遇到这种奇葩问题。

资源参考

原文地址:https://www.cnblogs.com/exmyth/p/8428474.html

时间: 2024-07-28 13:05:01

java.util.zip.ZipException: duplicate entry(重复依赖多版本的类库)的相关文章

我的Android进阶之旅------&amp;gt;Android编译错误java.util.zip.ZipException: duplicate entry的解决方法

今天在Android Studio中把另外一个项目引入当前项目,编译的时候出现了java.util.zip.ZipException: duplicate entry错误. 错误例如以下所看到的: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':watch:packageAllDebugClassesForMultiDex'. > java.util.zip.ZipEx

java.util.zip.ZipException: duplicate entry: com/tencent/mm/a/a.class

这个问题吊不起微信支付,最终发现是后台接口给我传的appid不正确,传成另一个app的id了 错误日志: FAILURE: Build failed with an exception. * What went wrong:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.> com.android.build.api.transform.TransformException: java.util.zi

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-annot

启动TOMCAT报错 java.util.zip.ZipException: invalid LOC header (bad signature)

报错信息大致如下所示: at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303) at org.apache.catalina.startup.Bootstrap.main(Bootstr

java.util.zip.ZipException: error in opening zip file

今天项目升级,出现了很奇葩的问题.在本地和测试环境测试好好的,将项目打包成war(每次都这样打包)然后上传到阿里云服务器,启动tomcat一直报如下错误: java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:220) at java.util.zip.ZipFi

[java ] java.util.zip.ZipException: error in opening zip file

严重: Failed to processes JAR found at URL [jar:file:/D:/tools/apache-tomcat-7.0.64_2/webapps/bbs/WEB-INF/lib/org.restlet.ext.servlet-2.3.0.jar!/] for static resources to be included in context with name [jar:file:/D:/tools/apache-tomcat-7.0.64_2/webap

java.util.zip.ZipException: invalid LOC header (bad signature)

1:部署好项目,启动tomcat出现如下所示的错误,百度方法,挺多的,但是好像并没有解决我的问题,问题如下所示: 1 java.util.zip.ZipException: invalid LOC header (bad signature) 2 at java.util.zip.ZipFile.read(Native Method) 3 at java.util.zip.ZipFile.access$1400(Unknown Source) 4 at java.util.zip.ZipFile

tomcat 启动时报java.util.zip.ZipException: error in opening zip file

项目运行部署tomcat中,一运行报java.util.zip.ZipException: error in opening zip file,其实tomcat有说明错误文件的位置,打开后发现在tomcat的webapps下面有个其它的项目,项目中的class文件下的lib中的有些jar发现是损坏的,删除掉就好了, 有些人说这个问题是maven导包问题,但我这个项目不是maven项目 原文地址:https://www.cnblogs.com/chenweng/p/8487248.html

java.util.zip.ZipException:ZIP file must have at least one entry

1.错误描述 2.错误原因 由于在导出文件时,要将导出的文件压缩到压缩文件中,但是导出文件为空时,压缩包会报错 3.解决办法 (1)路径不正确,使用File.separator方法取得路径 (2)查看使用File定义输入文件的时候,路径中是否存在文件或文件夹