gson 如何解决此错误(重复录入:),

ryhaxcpt  于 2022-11-06  发布在  其他
关注(0)|答案(5)|浏览(171)

每次我试图建立一个APK,这个错误不断显示!?我已经尝试了几乎所有的soultoins提到的网站上,但没有运气!
错误:执行任务“: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'
 }

以下是我尝试过但起作用的一些解决方案:
1.我已经添加了transitive = true; exclude group: 'com.google.code.gson', module: 'gson' for改型and条带依赖项
1.我删除了gson依赖项
1.我想删除gson库的jar文件,但在libs文件夹中找不到它!?

  1. multiDexEnabled true已添加,但没有任何效果
    1.我删除了compile fileTree(dir: 'libs', include: ['*.jar'])
    我想它与**Zoom模块或Stripe**有什么帮助吗?!
gjmwrych

gjmwrych1#

您可以尝试获取依赖关系树并找出它是哪个包。

3hvapo4f

3hvapo4f2#

我想出来了,首先...谢谢你们的帮助无论如何...!但我把这个作为公认的答案,因为它是一个为我工作!

第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

已完成

ep6jt1vc

ep6jt1vc3#

找出导致上述错误的依赖项,并从依赖项中排除gson,如下所示:

compile ('your_dependency'){
    exclude group : 'com.google.code.gson'
}
omqzjyyz

omqzjyyz4#

在android studio终端执行

./gradlew clean

并执行以下操作和重建
尝试将此添加到依赖项

compile'com.android.support:multidex:1.0.1'

并在清单中添加以下内容

android:name="android.support.multidex.MultiDexApplication"

在应用程序标签中

isr3a4wc

isr3a4wc5#

我的gson.jar文件在我的libs文件夹里。
我通过保留下面的行修复了重复的条目:
implementation 'com.google.code.gson:gson:2.8.7'
删除此处的条目:
implementation 'com.google.code.gson:gson:2.8.7'

相关问题