Po uruchomieniu: gradlew assembleDebug
polecenia na root projektu Android studio. Proces budowy nie nad otrzymuję komunikat:: transformClassesWithJarMergingForDebug '. TransformException: java.util.zip.ZipException: duplikat wpisu podczas uruchamiania gradlew assembleDebug
co poszło źle:
Wykonanie nie powiodło się dla zadania ': app: transformClassesWithJarMergingForDebug'. com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplikat wpisu: org/slf4j/impl/StaticLoggerBinder.class
W moim projekcie istnieją dwa pliki jar: slf4j -android-1.6.1-RC1.jar i slf4j-log4j12-1.7.21.jar. I oba te słoiki zawierają dwa słoiki, które zawierają org.sl4j.impl.StaticLoggerBinder.
Oto moja Gradle zawartość który znajduje się na folderze app plik:
android {
compileSdkVersion 23
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.ias.caniasandroid"
minSdkVersion 18
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
jumboMode true
javaMaxHeapSize "4g"
}
productFlavors {
}
}
dependencies {
debugCompile fileTree(include: ['*.jar'], dir: 'libs')
debugCompile files('libs/commons-lang3-3.4.jar')
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
}
Jak mogę rozwiązać ten problem i uruchomić gradlew assembleDebug
powodzeniem bez zmiany zawartości plików jar?
nie wolno używać słoików. Importuj artefakty z maven, konflikty są rozwiązywane automatycznie (jeśli mogą, najczęściej przez wybranie najnowszej z wszystkich określonych wersji artefaktu). –
Czy naprawdę potrzebujesz dwóch bibliotek * slf4j-log4j12 * i * slf4j-android *? A może jeden jest wystarczający. Spróbuj użyć tylko jednej zależności zamiast dwóch plików jar 'compile 'org.slf4j: slf4j-log4j12: 1.7.21'' –