java.util.zip.ZipException:重复条目

Posted

技术标签:

【中文标题】java.util.zip.ZipException:重复条目【英文标题】:java.util.zip.ZipException: duplicate entry 【发布时间】:2015-04-26 00:15:54 【问题描述】:

我整天都在 android Studio 中与这个错误作斗争。项目是从 Eclipse 解决方案中导入的。我一直在尝试实施为类似帖子列出的所有修复程序,但没有任何效果。我是 Android 初学者。

我很乐意提供任何进一步的信息。

错误:任务 ':app:packageAllDebugClassesForMultiDex' 执行失败。

:com/google/zxing/BarcodeFormat.class

请帮忙!!我应该尝试让它在 Eclipse 中运行吗?

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript 
    repositories 
        jcenter()
    
    dependencies 
        classpath 'com.android.tools.build:gradle:1.1.2'
    


allprojects 
    repositories 
        jcenter()
    


apply plugin: 'com.android.application'

android 
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig 
        applicationId "com.appname.android"
        minSdkVersion 8
        targetSdkVersion 18
        multiDexEnabled true
    

    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        
    


dependencies 
    compile 'com.android.support:support-v4:22.1.1'
    compile files('libs/ksoap2-android-assembly-3.1.0-jar-with-dependencies.jar')
    provided files('libs/zxing-core.jar')

【问题讨论】:

这意味着你试图将同一个类打包两次。我敢打赌你复制了 zxing 源代码和 lib。不要那样做。你不应该复制任何来源。 感谢您的回复。我查看了它,对 zxing 的唯一引用是在应用程序 gradle 文件中。编译文件('libs/zxing-core.jar') 还有什么想法吗? @user2512589 请发布您的build.gradle @JaredBurrows 我让它从改变编译文件('libs/zxing-core.jar')到提供的文件('libs/zxing-core.jar')进行编译。新问题:当我运行模拟器时,现在正在打开并且一个空白的黑屏?控制台显示“HAX 正在工作,模拟器在快速 virt 模式下运行”。有什么想法吗? 你为什么要使用provided而不是compile 【参考方案1】:

确保您拥有来自 SDK 管理器的最新构建工具和 sdk。我已将那些 jars 转换为 Gradle 依赖项。

build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript 
    repositories 
        jcenter()
        maven  url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/'  // <-- added for ksoap
    

    dependencies 
        classpath 'com.android.tools.build:gradle:1.1.3' // <-- updated
    


allprojects 
    repositories 
        jcenter()
        maven  url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/'  // <-- added for ksoap
    

app/build.gradle:

apply plugin: 'com.android.application'

android 
    compileSdkVersion 22
    buildToolsVersion "22.0.1" // <-- updated

    defaultConfig 
        applicationId "com.appname.android"
        minSdkVersion 8
        targetSdkVersion 22  // <-- updated
        // multiDexEnabled true  // <-- you do not need this
    

    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        
    


dependencies 
    compile 'com.android.support:support-v4:22.1.1'
    compile 'com.google.code.ksoap2-android:ksoap2-android:3.4.0'
    // compile files('libs/ksoap2-android-assembly-3.1.0-jar-with-dependencies.jar') // <-- avoid using jars
    compile 'com.google.zxing:core:3.2.0'
    // provided files('libs/zxing-core.jar') // <-- avoid using jars

【讨论】:

感觉很接近。得到以下信息:错误:(23、13)无法解决:com.google.code.ksoap2-android:ksoap2-android:3.4.0 你没有加maven url 'http://ksoap2-android.googlecode.com/svn/m2-repo' 吗? 是的,我复制了您提供的 build.gradle。 Android Studio 也让我安装了 SDK 22。 谢谢!它现在正在编译您的更改。它仍然是一个空白的模拟器?也许与模拟器设置有关?可能是我的开发机器不够强大? 用 Maven 存储库版本 compile 'com.google.zxing:core:3.2.0' 替换 compile files('libs/zxing-core.jar') 对我有用。使用 Maven 可以解决版本依赖关系,而不是创建重复项。谢谢,很重要!【参考方案2】:

java.util.zip.ZipException:重复条目

我也面临同样的问题。但是我已经解决了。

这个问题主要发生在我们将项目从一个系统移到另一个系统时。所以一个系统的 gradle 版本和 SDK 工具版本与其他系统不同。

请检查您是从其他系统导入项目还是从互联网下载项目

1.你的系统和下载的应用程序的gradle版本是不是匹配的?

    和SDK工具匹配不?

如果项目在同一个系统中,但是你得到了 Same 异常,那么上面的解决方案可能会有所帮助。

我的问题是应用程序“依赖项”的版本低于系统 sdk 工具版本。

我们应该为您的应用程序的每个依赖项提供正确的版本,与您的系统 SDK 工具版本相关。

我认为 Android Studio 可能会让我们感到困惑。该异常应该是系统 SDK 工具版本与应用程序依赖项版本不匹配。

在我的应用程序中,依赖项之一是“support-v7”版本是 24.1.1,但我的系统具有“support-v7:24.2.0”。所以我被改为最新版本。然后我的问题就解决了。

【讨论】:

以上是关于java.util.zip.ZipException:重复条目的主要内容,如果未能解决你的问题,请参考以下文章