当前位置: 首页 > 知识库问答 >
问题:

错误:java.io.IOException:重复的zip条目

钱旻
2023-03-14

我想用几天时间解决一个问题
当我运行应用程序时,出现以下错误:

Error:java.io.IOException: Duplicate zip entry 
[simple-xml-2.7.1.jar:org/simpleframework/xml/Attribute.class]

更详细地说(这里它说:simple-xml-2.7.1.jar,但我有一个类似于图中的simple-cxml-2.3.4.jar)

Error:java.lang.RuntimeException: java.io.IOException: Can't write [C:\Users\Alfonso\Documents\AndroidStudioProjectsNew\Business\VOIPMonitoring\app\build\intermediates\multi-dex\debug\componentClasses.jar] 
(Can't read [C:\Users\Alfonso\.gradle\caches\modules-2\files-2.1\org.simpleframework\simple-
xml\2.7.1\dd91fb744c2ff921407475cb29a1e3fee397d411\simple-xml-2.7.1.jar(;;;;;;**.class)] 
(Duplicate zip entry [simple-xml-2.7.1.jar:org/simpleframework/xml/Attribute.class]))


Caused by: java.io.IOException: Duplicate zip entry [simple-xml-2.7.1.jar:org/simpleframework/xml/Attribute.class]
at proguard.io.JarWriter.getOutputStream(JarWriter.java:138)
at proguard.io.FilteredDataEntryWriter.getOutputStream(FilteredDataEntryWriter.java:106)
at proguard.io.FilteredDataEntryWriter.getOutputStream(FilteredDataEntryWriter.java:106)
at proguard.io.FilteredDataEntryWriter.getOutputStream(FilteredDataEntryWriter.java:92)
at proguard.io.ClassRewriter.read(ClassRewriter.java:68)
at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
at proguard.io.JarReader.read(JarReader.java:65)
at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)
at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)
at proguard.InputReader.readInput(InputReader.java:184)

关联的ProGuard文件为空。

图书馆在哪里(我正在使用外部图书馆)

我的项目版本:

buildscript {
    repositories {
    jcenter()
    google()
    maven {
        url 'https://maven.google.com/'
        name 'Google'
    }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.google.gms:google-services:3.1.0'
    }
 }

 allprojects {
    repositories {
    jcenter()
        maven {
                url 'https://maven.google.com/'
                name 'Google'
        }
        maven { url  "https://dl.bintray.com/httprequester/maven" }
        maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/'}
    }
  }

  task clean(type: Delete) {
        delete rootProject.buildDir
    }

我的模块:android-ngn-stack build.gradle

 buildscript {
    repositories {
    jcenter()
    google()
    maven {
        url 'https://maven.google.com/'
        name 'Google'
    }
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
    classpath 'com.google.gms:google-services:3.1.0'
}


allprojects {
 repositories {
     jcenter()
     maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        maven { url  "https://dl.bintray.com/httprequester/maven" }
        maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/'}
        }
}

task clean(type: Delete) {
        delete rootProject.buildDir
}

我的模块:应用程序构建。我认为有问题的地方

    apply plugin: 'com.android.application'

    repositories {
        maven { url 'https://maven.fabric.io/public' }
        maven {
        url 'https://maven.google.com/'
        name 'Google'
        }
    }

    android {
        compileSdkVersion 25
        buildToolsVersion "26.0.2"
        defaultConfig {
            applicationId "monitoring.voip.business.tim.voipmonitoring"
            minSdkVersion 19
            targetSdkVersion 24
            multiDexEnabled true
            versionCode 3
            versionName "1.3"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
 }

dependencies {
        compile project(':android-ngn-stack')
        implementation 'com.android.support:support-v4:25.4.0'
        implementation 'com.google.firebase:firebase-config:11.0.4'
        compile fileTree(dir: 'libs', include: ['*.jar'])
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
             exclude group: 'com.android.support', module: 'support-annotations'
        })
        compile project(path: ':librarynetwork')
        compile 'com.android.support:appcompat-v7:25.4.0'
        compile 'com.android.support:animated-vector-drawable:25.4.0'
        compile 'com.android.support.constraint:constraint-layout:1.0.2'
        compile 'com.android.support:design:25.4.0'
        compile 'com.android.support:recyclerview-v7:25.4.0'
        compile 'com.android.support:mediarouter-v7:25.4.0'
        testCompile 'junit:junit:4.12'
        compile('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') {
            transitive = true;
        }
        compile 'com.getkeepsafe.taptargetview:taptargetview:1.10.0'
        compile 'com.pnikosis:materialish-progress:1.7'
        compile 'com.loopeer.library:cardstack:1.0.2'
        compile 'com.github.aakira:expandable-layout:1.4.2@aar'
        // Room
        implementation "android.arch.persistence.room:runtime:1.0.0"
        annotationProcessor "android.arch.persistence.room:compiler:1.0.0"
        compile 'ir.bpadashi.requester:requester:1.1.6'
        compile 'com.google.code.gson:gson:2.8.2'


}

configurations.all {
        resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
            if (requested.group == 'com.android.support') {
                    if (!requested.name.startsWith("multidex")) {
                        details.useVersion '25.0.0'
                    }
            }
        }
}

apply plugin: 'com.google.gms.google-services'

共有3个答案

戚阳曜
2023-03-14

几天后,我从一个新项目开始并逐步添加依赖项,解决了我的问题

这个问题是由我的gradle文件中的依赖项与外部库冲突引起的。

我发现了这一点感谢指挥

    ./gradlew app:dependencies > dependencies.txt 

其中 app 是您的项目模块。

冲突问题位于箭头所示的位置(--

您可以使用“排除模块”排除该依赖项,如下所示(但我更喜欢从新的空项目开始,之后我会排除依赖项问题)

例如,假设com.android.support:support-v4是包含导致这些错误的重复类的模块。下面是如何从依赖项中排除重复模块:

//Your dependency that includes the module with the duplicates.
 compile('com.my.project:my-module:0.1') {
    //exclude the offending module so there won’t be duplicates.
    exclude module: 'support-v4'
    //maybe you need to exclude a group also?...
    exclude group: 'com.google.android.gms'
}

引用相同的解决方案

普罗格劳德重复的拉链条目

普罗格劳德重复的拉链条目

田化
2023-03-14

simple-xml-2.7.1.jar,但我不使用它。。

您可能不会,但其他库中的一个会

简单的 XML JAR 不是 JNI 库,所以我不知道为什么你会把它放在 jniLibs 中,但是...

删除 JAR,请改用此依赖项

 compile 'org.simpleframework:simple-xml:2.7.1'
束雅达
2023-03-14

这可能是你的问题。您将< code > simple-XML-2 . 3 . 4 . jar 放在依赖项中,并且您的一些其他依赖项依赖于< code > simple-XML-2 . 7 . 1 . jar 。

使用 ./渐变

您最好尝试在不使用< code > simple-XML-2 . 3 . 4 . jar 的情况下进行编译,并查看代码是否可以使用< code > simple-XML-2 . 7 . 1 . jar 运行。

 类似资料:
  • null 有人也遇到这个问题吗?如果是这样,有人能帮我吗(我已经在这个问题上破了2天了!)?谢了!

  • 在更新了我的LibGDX项目中的所有库后,我得到了一个错误 “导致重复条目” 项目级构建。分级: Android级别的构建。Gradle:

  • 问题内容: 我有一个PHP表单,可将​​数据输入到我的MySQL数据库中。我的主键是用户输入的值之一。当用户输入表中已经存在的值时,将返回MySQL错误“键1的重复项’输入值’。我想提醒用户他们需要输入一个不同的值,而不是该错误。只是回音或其他内容。我想我的问题归结为:如何将特定的MySQL错误转换为PHP消息谢谢 编辑:下面尼克的答案是不错的,但是有什么办法可以区分特定的错误? 问题答案: 要检

  • 当我尝试在Android Studio中生成签名的APK文件时,出现以下错误: 错误:任务“:app:transformClassesWithJarMergingForRelease”的执行失败。通用域名格式。Android建筑应用程序编程接口。使改变TransformException:java。util。拉链ZipException:重复条目:org/apache/commons/codec/

  • 问题内容: 我正在尝试将大量用户列表插入MySQL数据库,但是每次尝试都出现错误: 之所以这样,是因为第二列在很多条目上都是空白的,因此在第二列中插入一个空白条目后,就不会再添加另一个了。但是,当我昨天添加了大多数列表时,即使昨天添加的很多条目在第2列中也有一个空白单元格,我也没有一次收到此错误。这是怎么回事? 这是插入1个条目的sql代码。其余的遵循相同的格式: 问题答案: 除了Sabeen的答

  • 问题内容: 首先,我已经看到许多其他这样的帖子,但是答案不适用于我的特殊情况。以防万一我几个月才学习SQL,对此我没有太多的了解。 这里有张桌子: 如我们所见,先前的值在表中出错了。应该是16个数字,而不仅仅是10个,实际上是不同的数字。 当我尝试插入新值时: 如果bank_card是AUTO_INCREMENT,为什么会有错误?我可以将PK更改到另一个地方吗? 非常感谢任何帮助 问题答案: 的最