web-dev-qa-db-fra.com

Android a réussi mais a échoué avec l'erreur: Java.util.Zip.ZipException: entrée en double

J'ai mis à jour mon Android studio et SDK et certaines dépendances de package selon la qualité du projet et depuis lors, j'ai rencontré beaucoup de problèmes que je pense que la raison est l'incompatibilité entre les dépendances.

Au cours de mes recherches, j'ai découvert que de nombreuses personnes ont les mêmes problèmes et ce n'est pas rare. J'ai résolu une partie de l'erreur mais les problèmes apparaissent juste l'un après l'autre et je suis juste confus. j'espère que vous pourrez m'aider à découvrir le problème et sa solution.

Le code fonctionne bien sur les nouvelles Android! (Un peu étrange) et je peux compiler et exécuter l'application sur Android 21+. Mais quand j'essaie d'exécuter) en dessous de 21 Android version, cela me donne une erreur. Tout allait bien avant de migrer vers Android studio 2.

Voici le code d'erreur que j'obtiens maintenant:

FAILURE: Build failed with an exception.
  • Ce qui a mal tourné: l'exécution a échoué pour la tâche ': transformClassesWithJarMergingForDebug'.

    com.Android.build.api.transform.TransformException: Java.util.Zip.ZipException: entrée en double: Android/support/annotation/WorkerThread.class

  • Essayez: exécutez avec l'option --stacktrace pour obtenir la trace de la pile. Exécutez avec l'option --info ou --debug pour obtenir plus de sortie de journal.

voici le fichier de note du projet:

task wrapper(type: Wrapper) {
    gradleVersion = '2.2'
}
buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:2.1.0'
        classpath 'com.google.gms:google-services:2.1.0'

    }


}
apply plugin: 'com.Android.application'
allprojects {
    repositories {
        jcenter()
        flatDir {
            dirs 'libs'
        }
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile(name: 'aescrypt-0.0.1', ext: 'aar')
    compile project(':viewmover-1.1.0 (1)')
    compile project(':fab-1.1.2')
    compile files('libs/slf4j-api-1.7.18.jar')
    compile project(':uitools-1.1.0')
    compile('com.Android.support:appcompat-v7:23.4.0') {
        exclude group: 'com.google.Android', module: 'support-v4'
    }
    compile 'com.Android.support:design:23.4.0'
    compile 'com.google.code.gson:gson:2.6.2'
    compile 'com.github.paolorotolo:appintro:3.4.0'


    compile ('com.google.Android.gms:play-services-gcm:8.1.0')   {
        exclude group: 'com.google.Android', module: 'support-v4'


    }
}


Android {
    compileSdkVersion 23
    buildToolsVersion '23.0.1'

    configurations{
        all*.exclude module: 'annotation'
    }
    defaultConfig {
        applicationId "co.goldentime"
        multiDexEnabled true
        minSdkVersion 16
        targetSdkVersion 23
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            Java.srcDirs = ['submodules/linphone/mediastreamer2/Java/src', 'submodules/linphone/Java/j2se', 'submodules/linphone/Java/common', 'submodules/linphone/Java/impl', 'submodules/externals/axmlrpc/src/main/Java', 'submodules/linphone/coreapi/help/Java', 'src']
            resources.srcDirs = ['submodules/linphone/mediastreamer2/Java/src', 'submodules/linphone/Java/j2se', 'submodules/linphone/Java/common', 'submodules/linphone/Java/impl', 'submodules/externals/axmlrpc/src/main/Java', 'submodules/linphone/coreapi/help/Java', 'src']
            aidl.srcDirs = ['submodules/linphone/mediastreamer2/Java/src', 'submodules/linphone/Java/j2se', 'submodules/linphone/Java/common', 'submodules/linphone/Java/impl', 'submodules/externals/axmlrpc/src/main/Java', 'submodules/linphone/coreapi/help/Java', 'src']
            renderscript.srcDirs = ['submodules/linphone/mediastreamer2/Java/src', 'submodules/linphone/Java/j2se', 'submodules/linphone/Java/common', 'submodules/linphone/Java/impl', 'submodules/externals/axmlrpc/src/main/Java', 'submodules/linphone/coreapi/help/Java', 'src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            jniLibs.srcDir 'libs'

            Java.exclude '**/mediastream/MediastreamerActivity.Java'
        }

        // Move the tests to tests/Java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/Java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }


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

Je découvre qu'il y a un problème avec une version différente de support-v4 mais je ne sais pas laquelle doit être exclue. J'ai un "Android-support-v4.jar" dans le libs.

faites-moi savoir si vous avez besoin d'autres informations.

merci.

7
Sir1

Vous devez ajouter

compile 'com.Android.support:support-v4:23.0.1'

Et supprimer

  • module: 'support-v4'

  • Android-support-v4.jar

Puis Clean-Rebuild-Sync & Exécutez votre projet. J'espère que cela vous aidera

8
IntelliJ Amiya