Scusate se ho fatto una domanda doppia, ma non sono riuscito a trovare una soluzione per questo errore. Ho navigato su stackoverflow, sito gradle, blog Android, ricerca su google ma non c'era una soluzione funzionante per diverse ore. Sono un principiante di Android quindi non sono sicuro di aver perso qualcosa in altri post.Android: app: transformClassesWithJarMergingForDebug FAILED - ZipException: voce duplicata
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 22
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:22.2.1.'
compile 'com.squareup.retrofit:retrofit:2.0.0-beta1'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta1'
compile 'com.android.support:recyclerview-v7:22.2.1.'
compile 'com.android.support:cardview-v7:22.2.1.'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.pnikosis:materialish-progress:1.7'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.google.android.gms:play-services:8.1.0'
compile files('libs/android-support-v4-22.2.1.jar')
compile files('libs/applovin-sdk-6.0.1.jar')
compile files('libs/appodeal-1.13.1.jar')
compile files('libs/chartboost-5.2.0.jar')
compile files('libs/my-target-4.0.13.jar')
compile files('libs/unity-ads-1.4.7.jar')
}
Il progetto funzionava correttamente fino a quando non aggiungo alcune librerie da appodeal (quelle file di compilazione). Ho provato a costruire il progetto ma gradle ha dato gli errori.
:app:transformClassesWithJarMergingForDebug'.
com.android.build.transform.api.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v7/widget/RecyclerView$ItemDecoration.class
ci sono anche altri 2 errori della stessa eccezione circa duplicato entry non so perché li ho avuti: android/support/v4/PrintKitKat.class
e android/support/multidex/MultiDex$V14.class
.
Ho provato ad aggiornare gradle, invalidare e riavviare per svuotare la cache, omettere le dipendenze quindi ricostruire/pulire il progetto, trovare il potenziale modulo duplicato da escludere e cercare i progetti per quelli .class
ma non ho trovato alcuna duplicazione.
Forse uno dei vostri vasi contiene già RecyclerView libreria .jar/Supporto Multidex .jar/Supporto v4 .jar Cercate di non dichiararli da soli . Se ti aiuta, devi trovare un modo per far sì che Gradle "unisca" le dipendenze duplicate. Sfortunatamente guardando la lista delle dipendenze non posso suggerire quale libreria possa dipendere da recyclerview/multidex-support/support-v4. – Lingviston
Potresti eseguire l'applicazione **./Gradlew: dipendenze ** e allegare il risultato. – Oleksandr
Mi dispiace per la risposta in ritardo, non riesco ad entrare in stackover tardi. Ho ricontrollato l'albero della libreria esterna come suggerito da @Lingviston e ho visto che c'erano alcune duplicazioni perché ho aggiornato la versione di alcune dipendenze, quindi ho scaricato 2 versioni in cartelle diverse. Penso che funzionasse bene perché non ho aggiunto ** multiDexEnable true **. Ma poi quando aggiungo più lib da appodeal e il progetto ha superato il limite di 65k (ho pensato così), allora devo usare _multi dexing_ e gradle non li "fonde". Grazie a Alexandr per il comando, ha fornito una vista ad albero delle dipendenze molto completa. –