我刚刚在Android Studio中创建了一个新项目,并希望添加UserVoice Java SDK作为依赖项。
我将compile 'com.uservoice:uservoice-java:0.0.2'行添加到应用程序依赖项块中的build.gradle文件中。
当我尝试构建时,构建将失败,因为
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lorg/apache/commons/collections/Buffer;
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)在这一点上,我还没有以任何方式修改项目。有没有办法排除有问题的依赖项并让UserVoice软件开发工具包正常工作?
谢谢!
发布于 2015-07-21 17:11:05
上面的方法对我不起作用,需要的是从uservoice中排除commons-collection依赖项。
compile('com.uservoice:uservoice-java:0.0.2'){
exclude group: 'commons-collections'
}这一点,再加上以下几点,让它可以很好地与gradle合作:
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}发布于 2014-08-24 08:04:06
我终于设法让它工作起来了。我所做的是添加
dexOptions {
preDexLibraries = false
}到build.gradle安卓区。这是here建议的
我还得加上
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}到同一个区块。
https://stackoverflow.com/questions/25459019
复制相似问题