每次我尝试构建APK时,此错误都会继续显示!我已经尝试了网站上提到的几乎所有灵魂,但没有运气!
错误:任务':app:transformClassesWithJarMergingForDebug'执行失败。
com.android.build.api.transform.TransformException: java.util.zip.ZipException:重复条目:com / google / gson / annotations / Expose.class
我的gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion '26.0.1'
lintOptions {
quiet true
abortOnError false
ignoreWarnings true
}
configurations {
all*.exclude group: 'commons-io'
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/ASL2.0'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE-FIREBASE.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'BinaryEncoder.java'
}
defaultConfig {
applicationId "com.xxxx.xxxxx"
minSdkVersion 15
targetSdkVersion 26
versionCode 3
versionName "1.2"
multiDexEnabled true
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
}
sourceSets {
main {
java {
exclude 'com.twilio:client-android:1.2.18.org.apache.http.lejacy.jar.org.apache.BinaryEncoder.java'
exclude 'org.apache.commons.codec.BinaryEncoder.java'
}
}
androidTest {
java {
exclude 'commons-codec-1.10/**'
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile('com.twilio:client-android:1.2.18') {
exclude group: 'org.apache.commons', module: 'commons-io'
}
compile project(':example')
compile project(':zoomcommonlib')
compile project(':zoommobilertc')
compile("com.github.hotchemi:permissionsdispatcher:2.4.0") {
exclude module: "support-v13"
}
compile('com.stripe:stripe-android:4.1.5') {
transitive = true;
exclude group: 'com.google.code.gson', module: 'gson'
}
compile('com.squareup.retrofit:retrofit:1.9.0') {
transitive = true;
exclude group: 'com.google.code.gson', module: 'gson'
}
compile 'com.google.android.gms:play-services-gcm:11.2.0'
compile 'lib.kingja.switchbutton:switchbutton:1.1.3'
compile 'com.orhanobut:hawk:2.0.1'
compile 'com.afollestad:material-camera:0.4.4'
compile 'com.werb.pickphotoview:pickphotoview:0.3.0'
compile 'com.github.Kennyc1012:BottomSheet:2.3.4'
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
compile 'com.android.support:design:26.0.1'
compile 'com.android.support:cardview-v7:26.0.1'
compile 'com.android.support:multidex:1.0.1'
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
compile 'com.google.android.gms:play-services-identity:11.2.0'
compile 'com.google.android.gms:play-services-plus:11.2.0'
compile 'com.google.android.gms:play-services-maps:11.2.0'
compile 'com.google.code.gson:gson:2.8.1'
compile 'com.squareup.okhttp:okhttp:2.5.0'
compile 'de.greenrobot:eventbus:2.4.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.paypal.sdk:paypal-android-sdk:2.14.4'
compile 'com.koushikdutta.ion:ion:2.1.8'
compile 'com.afollestad.material-dialogs:core:0.8.6.0'
compile 'com.amitshekhar.android:android-networking:1.0.0'
compile 'de.hdodenhof:circleimageview:2.1.0'
compile 'com.android.support:support-v4:26.0.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:2.4.0'
}
以下是我尝试过的一些解决方案不工作:
我添加了transitive = true; exclude group: 'com.google.code.gson', module: 'gson' for
改进and
条带`依赖
我删除了gson依赖
我想删除gson
库的jar文件,但我在libs
文件夹中找不到它??
multiDexEnabled true
已添加且无效
我已删除compile fileTree(dir: 'libs', include: ['*.jar'])
我认为它与 Zoom
模块或 Stripe
有任何帮助..!?
答案 0 :(得分:2)
您可以尝试获取依赖关系树并确定它是哪个包。
答案 1 :(得分:1)
在android studio终端执行
./gradlew clean
并执行以下操作并重建
尝试将此添加到您的依赖项
compile'com.android.support:multidex:1.0.1'
并在清单中添加此
android:name="android.support.multidex.MultiDexApplication"
应用程序标记中的
答案 2 :(得分:0)
我想出来了,首先......谢谢你的帮助无论如何......但是我把它作为公认的答案,因为它是为我制定的那个!
第1步
我使用(Double Shift)搜索整个项目中的重复类
它告诉我哪个库也使用同一个类..!就我而言,它是zoommobilertc
第2步
我尝试将这个库的gson模块排除在外:
compile project(':zoommobilertc'){
exclude group: 'com.google.code.gson', module: 'gson'
}
..但它没有用,它给了我错误,我认为它与exclude
有关。我尝试了一些解决方案,但没有运气!
所以......我这样做了..
zoommobilertc
并展开其文件夹Gson
jar文件
第3步
之后,我同步了该项目并尝试构建一个apk,这个错误显示:
Error:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.android.dx.command.Main with arguments {--dex --num-threads=4 --multi-dex --main-dex-list E:\*****\*****\app\build\intermediates\multi-dex\debug\maindexlist.txt --output E:\*****\*****\app\build\intermediates\transforms\dex\debug\folders\1000\1f\main E:\*****\*****\app\build\intermediates\transforms\jarMerging\debug\jars\1\1f\combined.jar}
然后搜索后我发现了一个修复:
我在android部分的 build.gradle 文件中添加了这个:
android{
//..
dexOptions {
javaMaxHeapSize "4g"
}
//..
}
..和 local.properties 文件
中的这一行org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m
完成强>
答案 3 :(得分:0)
找出导致上述错误的依赖项并排除gson
如下依据你的依赖,
compile ('your_dependency'){
exclude group : 'com.google.code.gson'
}