
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发生冲突所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)