Android Twitter Fabric SDK与Google GSON发生冲突

Android Twitter Fabric SDK与Google GSON发生冲突,第1张

概述我在将Twitter Fabric SDK集成到我的应用程序时遇到了困难.我按照 Twitter tutorial的步骤进行 *** 作,但是当我尝试用gradle构建我的项目时,我得到了这个错误: Error:Execution failed for task ':app:dexDebug'.> com.android.ide.common.internal.LoggedErrorException: 我在将Twitter Fabric SDK集成到我的应用程序时遇到了困难.我按照 Twitter tutorial的步骤进行 *** 作,但是当我尝试用gradle构建我的项目时,我得到了这个错误:
Error:Execution Failed for task ':app:dexDeBUG'.> com.androID.IDe.common.internal.LoggedErrorException: Failed to run command:D:\AndroID\androID-studio\sdk\build-tools\androID-4.4W\dx.bat --dex --output ...Error Code: 2Output:UNEXPECTED top-LEVEL EXCEPTION:com.androID.dex.DexException: Multiple dex files define Lcom/Google/gson/JsonSerializer;    at com.androID.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)    at com.androID.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)    at com.androID.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)    at com.androID.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)    at com.androID.dx.merge.DexMerger.merge(DexMerger.java:188)    at com.androID.dx.command.dexer.Main.mergelibraryDexBuffers(Main.java:439)    at com.androID.dx.command.dexer.Main.runMonoDex(Main.java:287)    at com.androID.dx.command.dexer.Main.run(Main.java:230)    at com.androID.dx.command.dexer.Main.main(Main.java:199)    at com.androID.dx.command.Main.main(Main.java:103)

我尝试从我的app模块lib文件夹中删除我的静态Gson库,之后一切都很顺利.删除从gradle模块依赖项添加twitter sdk的行时也一样,所以我很确定这两者之间存在某种冲突,我正在寻求解决它.

任何帮助将不胜感激 !

如果它对人们有任何用处,这里有我的gradle app模块文件:

apply plugin: 'com.androID.application'apply plugin: 'io.fabric'androID {    ...    buildTypes {        release {            runProguard false            proguardfiles getDefaultProguardfile('proguard-androID.txt'),'proguard-rules.pro'        }        deBUG {            signingConfig signingConfigs.deBUG            ext.enableCrashlytics = false        }    }}repositorIEs {    jcenter()    mavenCentral()    maven{ url 'https://maven.fabric.io/repo'}}dependencIEs {    compile filetree(dir: 'libs',include: ['*.jar'])    compile project(':facebook')    compile 'com.androID.support:support-v13:20.0.0'    compile 'com.Google.androID.gms:play-services:6.1.11'    compile('com.twitter.sdk.androID:twitter:1.0.0@aar') {        transitive = true;    }}
解决方法 我是Twitter AndroID开发人员.

尝试运行./gradlew app:dependencIEs以查看gradle任务的所有依赖项.您的编译依赖项将包括以下内容:

+--- com.twitter.sdk.androID:twitter-core:1.0.0|    |    +--- com.squareup.retrofit:retrofit:1.6.1|    |    |    \--- com.Google.code.gson:gson:2.2.4|    |    +--- com.Google.code.gson:gson:2.2.4|    |    \--- io.fabric.sdk.androID:fabric:1.0.0

这表明GSON确实被Fabric内部使用.

我的建议是从你的libs /文件夹中删除GSON,并将其作为直接依赖项添加到build.gradle中,而不是将其从Twitter deps图中排除.您也可以利用构建工具中的依赖项解析机制.

dependencIEs {    compile filetree(dir: 'libs',include: ['*.jar'])  // Maybe remove this.    compile project(':facebook')    compile 'com.androID.support:support-v13:20.0.0'    compile 'com.Google.androID.gms:play-services:6.1.11'    compile('com.twitter.sdk.androID:twitter:1.0.0@aar') {        transitive = true;    }    compile 'com.Google.code.gson:gson:2.2.4'  // Added.}
总结

以上是内存溢出为你收集整理的Android Twitter Fabric SDK与Google GSON发生冲突全部内容,希望文章能够帮你解决Android Twitter Fabric SDK与Google GSON发生冲突所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1138047.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存