web-dev-qa-db-fra.com

Java.util.Zip.ZipException: entrée en double: com/google/commun/base/FinalizableReference.class

Pourquoi cette erreur ne survient-elle pas lorsque je synchronise le Gradle, mais lorsque j'exécute le projet, le message d'erreur s'affiche.

Erreur: L'exécution a échoué pour la tâche ': app: transformClassesWithJarMergingForRelease'. > com.Android.build.api.transform.TransformException: Java.util.Zip.ZipException: entrée en double: com/google/common/base/FinalizableReference.class

Je ne sais pas quelle dépendance cause cette erreur, mes dépendances sont.

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })
    compile 'com.Android.support:appcompat-v7:25.3.1'
    compile 'com.Android.support:support-v4:25.3.1'
    compile 'com.Android.support:customtabs:25.3.1'
    compile 'com.Android.support:cardview-v7:25.3.1'
    compile 'com.Android.support:design:25.3.1'
    compile 'com.Android.support:percent:25.3.1'
    compile 'com.Android.support.constraint:constraint-layout:1.0.2'
    compile 'com.facebook.Android:facebook-Android-sdk:4.19.0'
    compile 'com.google.Android.gms:play-services-auth:11.0.0'
    compile 'com.google.Android.gms:play-services-location:11.0.0'
    compile 'com.google.Android.gms:play-services-maps:11.0.0'
    compile 'com.google.Android.gms:play-services-places:11.0.0'
    compile 'com.google.maps.Android:android-maps-utils:0.3.4'
    compile 'io.nlopez.smartlocation:library:3.3.1'
    compile 'com.appeaser.sublimenavigationviewlibrary:sublimenavigationviewlibrary:0.0.1'
    compile 'de.hdodenhof:circleimageview:2.1.0'
    compile 'com.Android.volley:volley:1.0.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.daimajia.slider:library:1.1.5@aar'
    compile 'com.afollestad:sectioned-recyclerview:0.4.1'
    compile 'com.github.medyo:fancybuttons:1.8.3'
    compile 'com.basgeekball:awesome-validation:2.0'
    compile 'com.github.michaelye.easydialog:easydialog:1.4'
    testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'

Modifier

Je me suis dit que cela dépendait des dépendances de service. quand j'utilise 10.2.6 au lieu de 11.0.0, l'application fonctionne parfaitement, je change simplement de dépendance en 

compile 'com.google.Android.gms:play-services-auth:10.2.6'
compile 'com.google.Android.gms:play-services-location:10.2.6'
compile 'com.google.Android.gms:play-services-maps:10.2.6'
compile 'com.google.Android.gms:play-services-places:10.2.6'

mais je veux utiliser la dernière version de play-services 11.0.0 mais cela me pose le problème ci-dessus. Comment résoudre ce problème? Toute aide serait appréciée Merci.

5
Abhishek Singh

Enfin, le problème est résolu. On dirait que c'est un bug que Google a résolu ce problème dans sa version mise à jour.

Utiliser le service de jeu Version 11.0.1

Utilisation du grade au niveau du projet

classpath 'com.google.gms:google-services:3.1.0'

7
Abhishek Singh

Parfois, ce problème est dû à l’inclusion d’une version différente de play-services (ou de certaines autres bibliothèques). Jetez un coup d'œil aux dépendances d'applications en utilisant ci-dessous:

gradle app: dépendances

ou si vous utilisez wrapper Gradle

./gradlew app: dépendances

Il est possible qu'une autre bibliothèque tierce utilise une version plus ancienne de la bibliothèque. Si tel est le cas, excluez l'ancienne bibliothèque de la bibliothèque tierce et incluez la dernière.

Vous pouvez faire quelque chose comme ça:

compile ('com.thirdpartylib.Android:library-sdk:8.3.0') {
        exclude group: 'com.Android.support', module: 'support-v4'
        exclude group: 'com.Android.support', module: 'support-annotations'
        exclude group: 'com.google.Android.gms', module: 'play-services-gcm'
        compile 'com.Android.support:support-v4:26.0.0'
        compile 'com.Android.support:support-annotations:26.0.0'
        compile 'com.google.Android.gms:play-services-gcm:11.2.0'
    }

Cela devrait résoudre toute entrée en double, principale raison du problème

0
Androidme