【发布时间】:2016-03-28 14:37:10
【问题描述】:
我正在尝试将库连接到我在 Gradle 中的项目:
compile 'com.balancedpayments:balancedpayments:1.4'
当我单击“立即同步”项目构建时没有错误,但是当我运行我的项目时,IDE 显示错误:
执行任务:[:app:assembleDebug]
按需配置是一项孵化功能。 :app:preBuild :app:compileDebugNdk UP-TO-DATE :app:preDebugBuild :app:checkDebugManifest :app:preReleaseBuild :app:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE :app:prepareComAndroidSupportSupportV42103Library UP-TO-DATE :app:prepareDebugDependencies :app:compileDebugAidl 最新 :app:compileDebugRenderscript UP-TO-DATE :app:generateDebugBuildConfig 最新:app:generateDebugAssets 最新:app:mergeDebugAssets 最新:app:generateDebugResValues 最新 :app:generateDebugResources 最新 :app:mergeDebugResources 最新:app:processDebugManifest 最新 :app:processDebugResources 最新 :app:generateDebugSources 最新:app:compileDebugJava 最新:app:preDexDebug UP-TO-DATE :app:dexDebug 意外的顶级异常: com.android.dex.DexException:多个 dex 文件定义 Lorg/apache/commons/codec/解码器;在 com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) 在 com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) 在 com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) 在 com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 在 com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 在 com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) 在 com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) 在 com.android.dx.command.dexer.Main.run(Main.java:246) 在 com.android.dx.command.dexer.Main.main(Main.java:215) 在 com.android.dx.command.Main.main(Main.java:106)
失败
FAILURE:构建失败并出现异常。
出了什么问题:任务 ':app:dexDebug' 执行失败。
com.android.ide.common.internal.LoggedErrorException:无法运行命令: C:\Users\zen_75\AppData\Local\Android\sdk\build-tools\21.1.2\dx.bat --dex --no-optimize --output C:\skip\TestPayment\app\build\intermediates\dex\debug --input-list=C:\skip\TestPayment\app\build\intermediates\tmp\dex\debug\inputList.txt 错误代码:2 输出:意外的顶级异常: com.android.dex.DexException:多个 dex 文件定义 Lorg/apache/commons/codec/解码器;在 com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
在 com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
在 com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
在 com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 在 com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 在 com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) 在 com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) 在 com.android.dx.command.dexer.Main.run(Main.java:246) 在 com.android.dx.command.dexer.Main.main(Main.java:215) 在 com.android.dx.command.Main.main(Main.java:106)尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。
构建失败
我找到了问题的描述 - 这是库的冲突。为了解决这个问题,建议消除冲突库。为此,我这样做:
configurations {
all*.exclude module: 'httpclient'
all*.exclude module: 'commons-logging'
}
警告消失,但错误仍然存在。您能告诉我如何消除这些库吗?
谢谢。
【问题讨论】:
标签: android android-gradle-plugin