android - Card IO Android SDK 与 Braintree Android SDK 冲突?

标签 android braintree card.io

嗨,我只是想使用 Card IOBraintree Android SDK当然,在一个使用 Android Studio 和 Gradle 构建的 Android 项目中。我什至还没有添加任何引用这两个库的代码。我只是在 gradle 构建文件中将它们设置为依赖项,如下所示:

apply plugin: 'com.android.application'

android {
        compileSdkVersion 21
        buildToolsVersion "21.1.1"

    defaultConfig {
        applicationId "blahblahblah"
        minSdkVersion 10
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        debug {
            ......
        }

        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':android-async-http-1.4.6')
    compile project(':gson-2.3.1')
    compile project(':card.io')
    compile 'com.android.support:appcompat-v7:21.0.2'
    compile 'com.android.support:support-v4:21.0.2'
    compile 'com.braintreepayments.api:braintree:1.+'
}

然后我尝试了一个干净的构建并成功了,但是当我尝试在测试手机上运行它时,我收到了以下信息:

Error:Execution failed for task ':app:dexDebug'.

com.android.ide.common.internal.LoggedErrorException: Failed to run command: /Applications/ADT_Bundle/sdk/build-tools/21.1.1/dx --dex --no-optimize --output /path_to_project_root/app/build/intermediates/dex/debug --input-list=/path_to_project_root/app/build/intermediates/tmp/dex/debug/inputList.txt

Error Code:
    2
  Output:
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dex.DexException: Multiple dex files define Lio/card/payment/b;
        at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
        at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
        at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
        at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:302)
        at com.android.dx.command.dexer.Main.run(Main.java:245)
        at com.android.dx.command.dexer.Main.main(Main.java:214)
        at com.android.dx.command.Main.main(Main.java:106)

我尝试删除

下的所有内容

app/build/generated, outputs and temp

甚至无效的 Android Studio 缓存并重新启动。不好。在我看来,Card IO 和 Braintree Android SDK 都具有这些功能,并且它们都将被打包到 apk 中。 Braintree Android SDK 是否已包含卡 IO 或其他内容?

谁能指出我哪里做错了?非常感谢!

最佳答案

在 1.3.0 版本中,Braintree SDK 不再包含 card.io 的副本。

关于android - Card IO Android SDK 与 Braintree Android SDK 冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27378424/

相关文章:

android - 如何在 EditText 中设置文本

typescript - 运行时错误 : Class extends value [object Object] is not a constructor or null

ios - Braintree 嵌入式 UI (iOS)

Card.io 扫描信用卡后,iOS Phonegap 应用程序崩溃

java - fragment 布局组件为空

Android,各向异性过滤?

android - 在 RxJava Observable 中创建 Facebook Graph Request

javascript - 如何在 Angular 模板中包含外部javascript?

card.io - card.io sdk 可以免费用于 android 和 iphone 开发吗

java - Android 库 card.io 在 Moto X 2nd Gen 上跳过摄像头且不扫描卡