Today I updated my SDK and ADT to the 14 version and I had a big problem !!
Every project I had which used Android Library Project couldn’t be launched on a terminal and crashed during the APK generation with the following error :
UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added: Lcom/foxykeep/datadroid/config/LogConfig; [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:163) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main.processClass(Main.java:486) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main.access$400(Main.java:67) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main.processOne(Main.java:418) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main.run(Main.java:206) [2011-10-19 15:19:18 - MyProject] Dx at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [2011-10-19 15:19:18 - MyProject] Dx at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [2011-10-19 15:19:18 - MyProject] Dx at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [2011-10-19 15:19:18 - MyProject] Dx at java.lang.reflect.Method.invoke(Unknown Source) [2011-10-19 15:19:18 - MyProject] Dx at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:179) [2011-10-19 15:19:18 - MyProject] Dx at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:729) [2011-10-19 15:19:18 - MyProject] Dx at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:602) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:282) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:363) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.resources.Project$1.run(Project.java:545) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:524) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.resources.Project.build(Project.java:123) [2011-10-19 15:19:18 - MyProject] Dx at com.android.ide.eclipse.adt.internal.project.ProjectHelper.build(ProjectHelper.java:869) [2011-10-19 15:19:18 - MyProject] Dx at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:146) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:853) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:702) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:924) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1128) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) [2011-10-19 15:19:18 - MyProject] Dx UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added: Lgreendroid/app/ActionBarActivity; [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:163) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main.processClass(Main.java:486) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main.access$400(Main.java:67) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main.processOne(Main.java:418) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329) [2011-10-19 15:19:18 - MyProject] Dx at com.android.dx.command.dexer.Main.run(Main.java:206) [2011-10-19 15:19:18 - MyProject] Dx at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [2011-10-19 15:19:18 - MyProject] Dx at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [2011-10-19 15:19:18 - MyProject] Dx at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [2011-10-19 15:19:18 - MyProject] Dx at java.lang.reflect.Method.invoke(Unknown Source) [2011-10-19 15:19:18 - MyProject] Dx at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:179) [2011-10-19 15:19:18 - MyProject] Dx at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:729) [2011-10-19 15:19:18 - MyProject] Dx at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:602) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:282) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:363) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.resources.Project$1.run(Project.java:545) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:524) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.resources.Project.build(Project.java:123) [2011-10-19 15:19:18 - MyProject] Dx at com.android.ide.eclipse.adt.internal.project.ProjectHelper.build(ProjectHelper.java:869) [2011-10-19 15:19:18 - MyProject] Dx at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:146) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:853) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:702) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:924) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1128) [2011-10-19 15:19:18 - MyProject] Dx at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) [2011-10-19 15:19:23 - MyProject] Dx warning: Ignoring InnerClasses attribute for an anonymous inner class (org.ksoap2.transport.KeepAliveHttpsTransportSE$1) that doesn't come with an associated EnclosingMethod attribute. This class was probably produced by a compiler that did not target the modern .class file format. The recommended solution is to recompile the class from source, using an up-to-date compiler and without specifying any "-target" type options. The consequence of ignoring this warning is that reflective operations on this class will incorrectly indicate that it is *not* an inner class. [2011-10-19 15:19:23 - MyProject] Dx 2 errors; aborting [2011-10-19 15:19:23 - MyProject] Conversion to Dalvik format failed with error 1
After searching the web and finding this existing bug in the Android bugtracker, I found the reason of this crash . Below you can see my project hierarchy before and after the update from ADT 12 to ADT 14 :
There is only 3 visible differences : “Library Projects” and a “bin” folder and the “default.properties” has been rename to “project.properties”.
The problem here is that the Library Projects elements contains for each Android Library Projects a jar file with the source code. At the same time we still have the GreenDroid_src and DataDroid_src elements which also contains the source code of the libraries. So we have duplicated code in our projects as mentioned in the error.
I think the update should have removed the useless X_src elements but it’s not the case. So we will have to do it manually :
- For each X_src element,right click on it and then Build Path > Remove from build path.
- A popup will open. Make sure that “Also unlink the folder from the project” is checked and then accept it.
Now you can launch your project and it should work !
















