使用Gson和Retrofit重复输入错误

时间:2017-08-30 07:43:30

标签: java android retrofit2 rx-java2 gson

我正在使用改造,rxjavagson进行api通话。在构建或清理应用程序时,我没有收到任何错误,但是一旦我在设备中运行应用程序;我收到了错误,即

**错误:任务执行失败':app:transformClassesWithJarMergingForDebug'。

  

com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com / google / gson / annotations / Expose.class **

depedencies文件app build.gradle是:

dependencies {

    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:24.0.0'
    compile 'com.android.support:design:24.0.0'
    compile 'com.android.support:cardview-v7:24.0.0'
    compile 'com.google.android.gms:play-services-location:8.4.0'
    compile 'com.google.android.gms:play-services-gcm:8.4.0'

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

    compile 'com.android.billingclient:billing:dp-1'

    compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
    compile 'com.squareup.retrofit2:converter-gson:2.1.0'
    compile 'com.squareup.retrofit2:retrofit:2.1.0'
    compile 'io.reactivex:rxandroid:1.2.0'
    compile 'io.reactivex:rxjava:1.1.8'


}

注意:我已经尝试过在stackoverflow中给出的许多解决方案,例如从改造中删除gson以及所有。 请提前帮助谢谢。

2 个答案:

答案 0 :(得分:0)

这对我有用:

compile 'com.google.code.gson:gson:2.7'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.2'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'

尝试使用依赖关系,如上所示

答案 1 :(得分:-1)

build.gradle中使用以下代码(在buildType代码后的应用级别)文件并再次重建项目;

packagingOptions {
    exclude 'META-INF/NOTICE' // will not include NOTICE file
    exclude 'META-INF/LICENSE' // will not include LICENSE file
    exclude 'META-INF/DEPENDENCIES' // will not include LICENSE file
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
}