我确实知道很多dex问题以前已经被报告过,但是在我的情况下,所有解决方案似乎都不起作用。
安慰:
Unable to execute dex: Multiple dex files define Lbolts/AggregateException;
Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lbolts/AggregateException;
流行的解决方案之一是从buildpath取消标记“Android私有(private)库”容器。我不能这样做,因为我需要在该容器中添加一些库。
另一个解决方案是取消标记任何以.jar形式显式添加的重复库。我没有这样的图书馆。
在我的情况下,重复的库是:
android-support-v7-appcompat.jar
我在以下两个容器中有它(直接从sdk文件夹引用):1.)Android私有(private)库
2.)Android依赖项
问题是我无法完全取消选中这两个容器中的任何一个,因为它们都包含其他必要的库。但我也无法仅从两个容器中删除此重复的.jar文件。
编辑:
N.B.当我将android-support-v7-appcompat library_project添加到我的项目时,它同时进入两个容器。必须有某种方法可以只进入其中一种。
有人可以帮我怎么做吗?
最佳答案
已解决bolts-android
库是这里的真正麻烦。它有两个不同的版本导致冲突。 FacebookSDK
库带来bolts-android-1.1.2
,而android-support-v7-appcompat
带来bolts-android-1.1.4
。
我在FacebookSDK
库项目中未标记Android Private Libraries容器,该项目包含bolts-android-1.1.2
。结果,我的项目现在只有一个版本bolts-android-1.1.4
,可以解决冲突。现在运行良好。
而且,事实证明,重复的android-support-v7-appcompat
条目不是问题。