Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Dex: UNEXPECTED TOP-LEVEL EXCEPTION: Already added

My app depends on a library project. This library project depends on the Android Compatibility Package V4. I have NOT exported the library project's dependency. In my own project, I've added ACL V13 as a dependency, but when compiling I get the error that essentially there's a duplicate dependency. I thought not exporting the library project's dependency would resolve this issue, but it's not.

How can I resolve this?

EDIT

Also, according to Android tools docs:

Special case for android-support-v4.jar and android-support-v13.jar.

We make a special case for these two libraries because -v13 contains a full version of -v4 inside. If both are found, then only -v13 will be used.

So it should just work...

like image 221
LuxuryMode Avatar asked Mar 13 '13 14:03

LuxuryMode


2 Answers

If you use exactly the same lib jar in different projects (libs project or standard projects), the apk tools get rid automatically of the duplicate ones.

The problem starts when you have two libs with the same name but not at the same revision.

The android-support-v4.jar and android-support-v13.jar files can be from different revision since there always have the same name in different support package release (http://developer.android.com/tools/extras/support-library.html#Notes)

I would check that you use exactly the same revision of the support libs in your main project and in your lib project.

To make sure, copy the two support libraries jars (located in the android-sdk folder) to your projects libs folder.

{android-sdk}/extras/android/support/v4/android-support-v4.jar
AND
{android-sdk}/extras/android/support/v13/android-support-v13.jar

It should get rid of the problem.

like image 149
ol_v_er Avatar answered Oct 20 '22 21:10

ol_v_er


Delete the v4 package from the library.

Clean the Projects.

like image 8
Aditya Kushwaha Avatar answered Oct 20 '22 21:10

Aditya Kushwaha