2017-10-04 2 views
0

merci pour votre temps :) je reçois ce message après avoir construit mon jeu sur Android studioBUILD FAILED, Information: tâches Gradle [: application: assembleLegacyRelease]

Information: tâches Gradle [: application: assembleLegacyRelease]

Error:Execution failed for task ':app:transformClassesWithJarMergingForLegacyRelease'. 
    > com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/app/ListFragment$1.class 

information: BUILD FAILED

i ai u sed une version de l'héritage, donc je ne sais pas comment résoudre ce problème pour obtenir mon fichier apk

c'est le gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.0" 
    dexOptions{ 
     javaMaxHeapSize "4g" 
    } 
    defaultConfig { 
     applicationId "com.companyname.gamename" 
     minSdkVersion 9 
     targetSdkVersion 25 
     multiDexEnabled true 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     vectorDrawables.useSupportLibrary = true 
     ndk { 
      moduleName "player_shared" 
     } 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
    productFlavors { 
     legacy { 
      minSdkVersion 9 
      versionCode 901 // Min API level 9, v01 
     } 
     current { 
      minSdkVersion 14 
      versionCode 1401 // Min API level 14, v01 
     } 
    } 

dependencies { 
    legacyCompile 'com.google.android.gms:play-services:10.0.0' 
    currentCompile 'com.google.android.gms:play-services:10.2.0' 
    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 'com.android.support:appcompat-v7:25.0.0' 
    compile 'com.android.support:design:25.0.0' 
    compile 'com.android.support:support-vector-drawable:25.0.0' 
    testCompile 'junit:junit:4.12' 
} 
    sourceSets { 
     main { 
      jni.srcDirs = [] 
     } 
    } 
} 

merci pour votre aide, ceci est mon premier jeu

+0

Qu'est-ce que vous avez dans votre répertoire libs? Pouvez-vous s'il vous plaît nous dire? –

+0

j'ai 4 fichiers jar poignard 1.2.2.jar javax.inject -1.jar nineoldandroids-2.4.0.jar soutien v4-19.0.1.jar – MSCS

Répondre

0

Ainsi, vous avez déjà quatre fichiers jar dans votre dossier libs qui comprend également le support v4 jar. Voici les fichiers jar que vous avez dans votre dossier libs autant que je sais de votre commentaire.

  • poignard 1.2.2.jar
  • javax.inject -1.jar
  • nineoldandroids-2.4.0.jar
  • support v4-19.0.1.jar

Le message d'erreur montre clairement qu'il existe une entrée en double pour un support v4 jar.

com.android.build.api.transform.TransformException: java.util.zip.ZipException: entrée en double: android/support/v4/app/ListFragment 1.class $

Vous avez donc besoin pour supprimer le support v4-19.0.1.jar de votre dossier libs puisque vous avez déjà un support v7 inclus dans votre fichier build.gradle qui a une version différente. Vous pouvez donc ajouter cette section dans votre fichier build.gradle juste avant votre section dependencies.

configurations.all { 
    resolutionStrategy { 
     force 'com.android.support:design:25.3.1' 
     force 'com.android.support:support-v4:25.3.1' 
     force 'com.android.support:appcompat-v7:25.3.1' 
    } 
} 

Vous pouvez également envisager de supprimer compile 'com.android.support:appcompat-v7:25.0.0' de votre dependencies ainsi.

+0

merci monsieur le problème est résolu et l'apk généré avec succès, merci beaucoup – MSCS

+0

heureux de savoir que aidé. Bienvenue! –

+0

maintenant le problème est quand je voulais l'installer sur le téléphone, il dit application non installée! J'ai essayé 2 téléphones avec des exigences différentes – MSCS

0

Vous avez cours ListFragment dans votre projet, qui est en conflit avec la classe ListFragment fournie par la classe prédéfinie Android Fragments. S'il vous plaît réfracter votre propre classe ListFragment. Cela devrait résoudre l'erreur.

+0

pouvez-vous me dire comment cela s'il vous plaît, i » Je suis désolé je suis juste un débutant – MSCS

+0

Vous devez avoir le fichier 'ListFragment.java' dans votre répertoire app/java/. Faites un clic droit sur ce fichier, allez dans «Refractor» et cliquez sur «Refractor file» et changez le nom en quelque chose d'autre. –

+0

je l'ai fait mais rien n'a changé, je ne sais pas si je l'ai fait droit – MSCS