Paytab支付网关无法正常工作

时间:2017-02-07 05:32:07

标签: android android-studio retrofit

我必须整合 paytabs 支付网关。在集成他们的sdk模块之后,应用程序不会构建&应用程序出错。我的应用程序gradle具有以下依赖性。

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support:design:24.2.1'
    compile 'com.google.android.gms:play-services:9.8.0'
    compile 'com.squareup.retrofit2:retrofit:2.1.0'
    compile 'com.squareup.retrofit2:converter-gson:2.0.2'
    compile 'de.hdodenhof:circleimageview:1.3.0'
    compile 'com.google.code.gson:gson:2.6.1'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.afollestad.material-dialogs:core:0.9.1.0'
    compile 'com.kyleduo.switchbutton:library:1.4.4'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
    compile project(':PayTabs_SDK_SRC')
}

错误看起来像:

  

错误:任务':app:transformClassesWithJarMergingForDebug'的执行失败。   com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:okhttp3 / Address.class

更新 如果我删除下面两个依赖项我没有得到任何错误。但必须要使用它 改造依赖。有什么想法吗?

  

compile'c​​om.squareup.retrofit2:retrofit:2.1.0'
   编译'com.squareup.retrofit2:converter-gson:2.0.2'

1 个答案:

答案 0 :(得分:2)

看,PayTabs SDK包括 com.squareup.okhttp3(version 3.5.0)和com.squareup.retrofit2:retrofit:2.2.0使用okhttp3(version 3.6.0)混淆了Gradle并生成了dexException(重复文件异常)。

要解决此问题,您需要排除okhttp3版本之一。在build.gradle文件中替换以下这些行。

compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'

使用以下代码行:

compile ('com.squareup.retrofit2:retrofit:2.2.0'){
    exclude group: "com.squareup.okhttp3"
}
compile ('com.squareup.retrofit2:converter-gson:2.2.0'){
    exclude group: "com.squareup.okhttp3"
}

希望它能奏效。