web-dev-qa-db-fra.com

java.util.Zip.ZipException: entrée en double

J'ai lutté contre cette erreur toute la journée dans Android Studio. Le projet a été importé à partir d'une solution Eclipse. J'ai essayé d'implémenter tous les correctifs répertoriés pour des articles similaires, rien ne fonctionne. Je suis un Android débutant.

Je me ferai un plaisir de vous fournir de plus amples informations.

Erreur: l'exécution a échoué pour la tâche ': app: packageAllDebugClassesForMultiDex'.

Java.util.Zip.ZipException: entrée en double: com/google/zxing/BarcodeFormat.class

S'il vous plaît, aidez !! Dois-je simplement essayer de le faire fonctionner dans 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')
}
7
user2512589

Assurez-vous que vous disposez des derniers outils de construction et sdk du gestionnaire du SDK. J'ai converti ces dépendances jars en 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
}
7
Jared Burrows

Java.util.Zip.ZipException: entrée en double

Je suis également confronté au même problème, mais j'ai été résolu.

Ce problème se produit principalement lorsque nous déplaçons le projet d'un système vers un autre système. Les versions d'un système et les versions des outils SDK sont donc différentes de celles d'un autre système.

veuillez vérifier si vous importez le projet depuis un autre système ou téléchargé depuis Internet

Les versions 1.gradle de votre système et de l'application téléchargée correspondent, n'est-ce pas?

  1. et les outils SDK sont appariés ne le sont pas?

Si le projet dans le même système, mais vous obtenez la même exception, la solution ci-dessus peut être utile.

Mon problème est que les "dépendances" d'application sont des versions inférieures à la version des outils System sdk.

nous devons fournir la version correcte pour chaque dépendance de votre application, en ce qui concerne la version des outils du SDK de votre système.

Je pense que Android studio peut nous prêter à confusion. Cette exception devrait être une incompatibilité des versions des outils du SDK système avec les versions des dépendances d'application.

Dans mon application, l'une des dépendances est la version "support-v7" est 24.1.1 mais mon système a le "support-v7: 24.2.0". j'ai donc été changé pour la dernière version. alors mon problème a été résolu.

2
Kona Suresh