Thursday, July 16, 2009

UNEXPECTED TOP-LEVEL EXCEPTION in Eclipse (android)

The following error in Android (Eclipse):

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lorg/ksoap2/SoapEnvelope;
[2009-07-16 09:21:20 - SOAPClient] at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[2009-07-16 09:21:20 - SOAPClient] at com.android.dx.dex.file.DexFile.add(DexFile.java:143)
[2009-07-16 09:21:20 - SOAPClient] at com.android.dx.command.dexer.Main.processClass(Main.java:299)
[2009-07-16 09:21:20 - SOAPClient] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:276)
[2009-07-16 09:21:20 - SOAPClient] at com.android.dx.command.dexer.Main.access$100(Main.java:56)
[2009-07-16 09:21:20 - SOAPClient] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:228)
[2009-07-16 09:21:20 - SOAPClient] at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
[2009-07-16 09:21:20 - SOAPClient] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)
[2009-07-16 09:21:20 - SOAPClient] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
[2009-07-16 09:21:20 - SOAPClient] at com.android.dx.command.dexer.Main.processOne(Main.java:245)
[2009-07-16 09:21:20 - SOAPClient] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183)
[2009-07-16 09:21:20 - SOAPClient] at com.android.dx.command.dexer.Main.run(Main.java:139)
[2009-07-16 09:21:20 - SOAPClient] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2009-07-16 09:21:20 - SOAPClient] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[2009-07-16 09:21:20 - SOAPClient] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[2009-07-16 09:21:20 - SOAPClient] at java.lang.reflect.Method.invoke(Unknown Source)
[2009-07-16 09:21:20 - SOAPClient] at com.android.ide.eclipse.adt.build.DexWrapper.run(Unknown Source)
[2009-07-16 09:21:20 - SOAPClient] at com.android.ide.eclipse.adt.build.ApkBuilder.executeDx(Unknown Source)
[2009-07-16 09:21:20 - SOAPClient] at com.android.ide.eclipse.adt.build.ApkBuilder.build(Unknown Source)
[2009-07-16 09:21:20 - SOAPClient] at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633)
[2009-07-16 09:21:20 - SOAPClient] at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
[2009-07-16 09:21:20 - SOAPClient] at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)
[2009-07-16 09:21:20 - SOAPClient] at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
[2009-07-16 09:21:20 - SOAPClient] at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)
[2009-07-16 09:21:20 - SOAPClient] at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
[2009-07-16 09:21:20 - SOAPClient] at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)
[2009-07-16 09:21:20 - SOAPClient] at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309)
[2009-07-16 09:21:20 - SOAPClient] at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341)
[2009-07-16 09:21:20 - SOAPClient] at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140)
[2009-07-16 09:21:20 - SOAPClient] at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238)
[2009-07-16 09:21:20 - SOAPClient] at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
[2009-07-16 09:21:20 - SOAPClient] 1 error; aborting
[2009-07-16 09:21:20 - SOAPClient] Conversion to Dalvik format failed with error 1


is caused by a library that is added twice to the project.
In my case, I added a jar file under a new folder 'lib'. When the project is closed and opened again, the jar is automatically copied under the bin dir and the above error is generated. Solution is to remove one of the two jar's.

No comments: