【发布时间】:2015-11-17 22:48:38
【问题描述】:
我正在构建 3 个模块。
A(一个没有依赖的android库) B(一个依赖于A的android库) C(一个依赖B和A的android应用)
首先,我只想在 C 中声明 B 并传递 A 第二,我不断收到dex错误:
Unknown source file : UNEXPECTED TOP-LEVEL EXCEPTION:
Unknown source file : com.android.dex.DexException: Multiple dex files define Lorg/apache/commons/collections/Buffer;
Unknown source file : at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
Unknown source file : at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
Unknown source file : at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
Unknown source file : at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
Unknown source file : at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
Unknown source file : at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502)
Unknown source file : at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)
Unknown source file : at com.android.dx.command.dexer.Main.run(Main.java:277)
Unknown source file : at com.android.dx.command.dexer.Main.main(Main.java:245)
Unknown source file : at com.android.dx.command.Main.main(Main.java:106)
:app:dexDebug FAILED
我提供在模块 B、C 中声明的依赖项(A 没有)
乙:
dependencies {
compile 'com.me.project:project-base:1.0.0'
compile 'org.apache.httpcomponents:httpcore:4.3'
compile 'org.apache.httpcomponents:httpmime:4.3'
compile 'commons-io:commons-io:2.4'
}
C:
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.android.support:design:23.1.0'
compile 'com.android.support:recyclerview-v7:23.1.0'
compile 'com.android.support:gridlayout-v7:23.1.0'
compile ('B')
compile 'com.android.support:support-v4:23.1.0'
compile 'commons-validator:commons-validator:1.4.1'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
// TODO: check how to make it transitive somehow
compile 'com.me.project:project-base:1.0.0'
// only simbols to compile time
provided 'org.apache.httpcomponents:httpcore:4.3'
provided 'org.apache.httpcomponents:httpmime:4.3'
provided 'commons-io:commons-io:2.4'
}
请帮助我如何正确配置项目并解决我的错误
谢谢!!
【问题讨论】:
-
请运行此
./gradlew assemble并向我们展示结果 -
我添加的异常来自调用 dexDebug 的任务组装