1

I have configured the following dependencies in Gradle, inside Android Studio.

compile 'com.google.code.gson:gson:2.2.4' compile files('libs/android-support-v13.jar') compile files('libs/apache-mime4j-storage-0.7.2.jar') compile files('libs/commons-cli-1.1.jar') compile files('libs/commons-io-1.2.jar') compile files('libs/httpclient-4.3.4.jar') compile files('libs/httpcore-4.3.2.jar') compile files('libs/httpmime-4.3.4.jar') compile files('libs/rabbitmq-client.jar') compile files('libs/retrofit-1.7.1.jar') compile files('libs/universal-image-loader-1.9.3-with-sources.jar') compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' compile 'com.google.android.gms:play-services:7.0.0' 

But Gradle gives me the following error:

Execution failed for task ':app:dexDebug'. Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.internal.LoggedErrorException: Failed to run command: D:\AS sdk\build-tools\21.1.2\dx.bat --dex --no-optimize --output C:\Users\ttuser\ASProjects\MyProject\app\build\intermediates\dex\debug --input-list=C:\Users\ttuser\ASProjects\MyProject\app\build\intermediates\tmp\dex\debug\inputList.txt Error Code: 2 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) at com.android.dx.command.dexer.Main.run(Main.java:246) at com.android.dx.command.dexer.Main.main(Main.java:215) at com.android.dx.command.Main.main(Main.java:106) 

How can I solve it?

1

2 Answers 2

1

app:dexDebug error in general means that you've tried to link in the duplicate class to your project more than once. So remove your Duplicate Library

Sign up to request clarification or add additional context in comments.

1 Comment

I know, but I can't find the deplicate library
0

I don't know if you figured it out yet, but seeing as all of those are publicly available libraries, I suggest getting rid of the JARs and getting them as a dependency from JCenter/Maven Central. If you are not sure how to do this, here is an example. One library you are using is Retrofit, so you would go to a website like Maven Central (http://search.maven.org/) and search for the library and get the Gradle dependency for your version (http://search.maven.org/#artifactdetails|com.squareup.retrofit|retrofit|1.7.1|jar):

compile 'com.squareup.retrofit:retrofit:1.7.1' 

Do this for all of your dependencies. Once you have them set up as Gradle dependencies instead of JARs, you can do what is explained here: https://stackoverflow.com/a/21100040/2245921

Basically, go into your :app folder through a terminal, and run the following:

../gradlew -q dependencies 

And Gradle will draw a dependency tree. There you will be able to see duplicate dependencies and more easily deal with them.

Comments