6

Costruire un app genera il seguente errore:

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. 
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v7/appcompat/R$anim.class 

Ho pulito e realizzato il progetto più volte senza alcun risultato . Essa ha il seguente nella sua costruzione Gradle:

compile 'com.android.support:appcompat-v7:23.3.0' 

utilizza anche una libreria tramite il suo file aar. Quel progetto di libreria ha anche il precedente nella sua versione gradle.

Qualcuno può offrire un consiglio su come risolvere questo?

+0

Rimuovere il duplicato. È così semplice. Se hai un file AAR che ha già compilato qualcosa per te, non è necessario compilarlo di nuovo. –

+1

pubblica il tuo gradle –

+0

@ cricket_007 Come si può rimuovere il duplicato? Ho provato: exclude module: 'appcompat-v7', ma non ha aiutato. Intendevi non includere "compile 'com.android.support:appcompat-v7:23.3.0'"? L'app richiede appcompat-v7. Ci sarebbero errori senza di essa. – Hong

risposta

4

Yup, Viso stesso problema qualche giorno fa

Reason - as you told "That library project also has the above in its gradle build" actually system wont able to understand which dependency hi will take (app's - compile 'com.android.support:appcompat-v7:23.3.0' or module project's - compile 'com.android.support:appcompat-v7:23.3.0') so that hi says you have duplicate entry

come risolvere -

Step 1 - Just Clean/Build Project. go to Build -> Clean/Build Project.

Step 2 - In terminal execute in root project folder ./gradlew clean*

Step 3- you have to exclude your group from one dependency

compile('com.android.support:design:23.2.1') { 
    exclude group: 'com.android.support', module: 'support-v7' 
} 

Step 4 - Check Out This Awsome Answer https://stackoverflow.com/a/19022328/4741746

e risposta che lavorano per me è -

Io t rimuovere 1 dipendenza da gradle di livello app e solo mettere in classe gradle livello di progetto ed escludere anche supporto-v4 in cui esiste la classe anim

compile 'com.android.support:appcompat-v7:23.2.1' 
     compile('com.android.support:design:23.2.1') { 
      exclude group: 'com.android.support', module: 'support-v4' 
     }