2016-06-08 1 views
1

Je faisais face à un problème plus tôt cette semaine. Quand j'ai essayé de faire la version release Android, il semble montrer l'erreur suivante -Android Release Build

Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'. com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/internal/zzjm.class

Je me demandais comment je suis arrivé cette erreur et comment y remédier. Il semble que le problème était dans les fichiers build.gradle. Ici, ils sont -

Niveau App -

apply plugin: 'com.android.application' 



android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     applicationId "com.unknown.app" 
     minSdkVersion 13 
     targetSdkVersion 23 
     versionCode 20 
     versionName "2.34" 
     multiDexEnabled true 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile project(':BaseGameUtils') 
    testCompile 'junit:junit:4.12' 
     compile 'com.android.support:appcompat-v7:23.4.0' 
compile 'com.google.firebase:firebase-ads:9.0.2' 
compile ('com.google.android.gms:play-services:9.0.2'){ 
    exclude group: 'com.google.android.gms.play-services-ads' 
} 

    compile project(path: ':BaseGameUtils') 
} 


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

est ici le plus haut niveau -

// 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:2.1.2' 
     classpath 'com.google.gms:google-services:3.0.0' 
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

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

Merci pour toute l'aide. J'ai eu ce problème pendant un petit moment. Je n'ai pas trouvé la réponse dans d'autres questions de dépassement de pile. Merci encore.

+1

Essayez également de nettoyer le projet ou supprimez les dossiers de construction et de corbeille de votre projet. – RafaelC

+0

Ok. Je verrai. Merci. –

+0

N'a pas fonctionné bien merci pour l'aide. –

Répondre

0

Il semble que le module BaseGameUtils était à l'origine du problème. Je ne suis pas sûr de savoir pourquoi, mais en le remettant en marche, et remplacer le BaseGameUtils pour une raison quelconque a fait l'affaire, et l'erreur ne s'est plus montrée. Merci pour toute l'aide sur la façon de résoudre le problème.

+1

Content que vous l'ayez trouvé. Êtes-vous sûr que c'est le BaseGameUtils dans son ensemble? Existe-t-il une ligne comme 'compile 'com.google.firebase: firebase-ads: 9.0.2'' et' compile (' com.google.android.gms: play-services: 9.0.2 ') 'dans le module de construction BaseGameUtils ? Avez-vous supprimé à la fois 'compile project (': BaseGameUtils')' et 'compile project (** chemin: ** ': BaseGameUtils')' ou seulement l'un des deux? – OliPro007

+0

J'ai supprimé les deux, même si je suppose que j'aurais pu exclure quelques bibliothèques de ce module, même si cela fonctionnait au moins. Merci. –

2

l'erreur s'explique, cela signifie qu'il a trouvé deux bibliothèques qui sont les mêmes

compile 'com.google.android.gms:play-services:9.0.2' 
compile 'com.google.android.gms:play-services-ads:9.0.2' 
compile 'com.google.android.gms:play-services-identity:9.0.2' 
compile 'com.google.android.gms:play-services-gcm:9.0.2' 

en incluant com.google.android.gms:play-services:9.0.2 vous êtes réellement compris toutes les bibliothèques de service de jeu, s'il vous plaît enlever et vous devriez être bien ou Enlevez les autres "en dessous".

+0

Merci pour votre aide. Je vérifierai. –

+0

Cela a aidé, mais n'a pas résolu l'erreur. Merci encore pour votre aide si. –

1

vous incluez le 'com.google.firebase: Firebase-annonces: 9.0.2' et 'com.google.android.gms: play-services-annonces: 9.0.2' mais firebase déjà inclut la deuxième bibliothèque de sorte que vous n'avez pas besoin d'inclure celui-ci, il suffit d'utiliser la bibliothèque ads de firebase

+0

Merci pour votre aide. Je vérifierai. –

+0

J'ai édité le code avec les changements bien qu'il ait toujours donné la même erreur. Merci encore pour votre aide si. –

+0

Je modifie le code pour montrer à quoi il ressemble après les changements. –