首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卡IO Android SDK与Braintree Android SDK冲突?

卡IO Android SDK与Braintree Android SDK冲突?
EN

Stack Overflow用户
提问于 2014-12-09 11:57:31
回答 2查看 715关注 0票数 2

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

代码语言:javascript
复制
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.+'
}

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

代码语言:javascript
复制
Error:Execution failed for task ':app:dexDebug'.

com.android.ide.common.internal.LoggedErrorException:未能运行命令: /Applications/ADT_Bundle/sdk/build-tools/21.1.1/dx --dex --非优化--输出/path_to_project_root/app/build/intermediates/dex/debug --input-list=/path_to_project_root/app/build/intermediates/tmp/dex/debug/inputList.txt

代码语言:javascript
复制
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和temp

甚至是无效的Android缓存并重新启动。不是很好。在我看来,这是卡片IO和Braintree Android都有的东西,它们都将被打包到apk中。Braintree Android SDK是否已经包含了卡片IO之类的东西?

有人能指出我哪里做错了吗?非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-09 14:42:26

Braintree SDK已经包含了心脏病java类。但是,它不包括.so文件。请尝试删除您的本地副本的card.io.jar,一切都应该工作。

票数 1
EN

Stack Overflow用户

发布于 2015-02-05 00:33:58

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27378424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档