I do know Multiple dex problems have been reported a lot of times before, but none of the solutions seems to work in my case.
Console:
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;
One of the popular solutions is unmarking the 'Android private libraries' container from buildpath. I cannot do that because there are a few more libraries in that container that i need.
Another solution is unmarking any duplicate library explicitly added in .jar form. I have no such libraries.
The duplicate library in my case is: android-support-v7-appcompat.jar
I have it (directly referenced from the sdk folder) in these two containers:
1.) Android Private Libraries
2.) Android Dependencies
The problem is that i just cannot untick any of these two containers completely, because both of them contain other necessary libraries. But i also am unable to remove just this duplicate .jar file from either containers.
EDIT: N.B. When i add the android-support-v7-appcompat library_project to my project, it enters into both containers. There must be some way so that goes into only one.
Can any one help me how i can do it?
RESOLVED
bolts-android
library was the real trouble here. There were two different versions of it causing a conflict. The FacebookSDK
library brings bolts-android-1.1.2
, and android-support-v7-appcompat
brings bolts-android-1.1.4
.
I unmarked Android Private Libraries container in the FacebookSDK
library project, which contained bolts-android-1.1.2
. As a result, my project now had only one version, bolts-android-1.1.4
, settling the conflict. It runs fine now.
Also, turns out, the duplicate android-support-v7-appcompat
entries were not an issue.