Android: Getting Error: Conversion to Dalvik forma

2020-03-01 08:33发布

I am building an app on android and running into an error and while searching on net, came across your posting on this and changed the eclipse.ini to increase Xms and Xmx params but still this error does not go away.

I am using Eclipse IDE for Java with Android SDK 2.1 on Mac OS. Please help or please point me to someone who might know.

Btw, this error only happens when i add external jar files (which i need for my project). Here are the list of external jar files that i have in my classpath.)

  • httpclient-4.0.1.jar from apache
  • httpcore -4.0.1.jarfrom apache
  • commons-codec-1.3.jar from apache
  • commons-logging-1.1.1.jar from apache
  • json_simple-1.1.jar from google

Here is the complete error:

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lorg/apache/commons/logging/impl/AvalonLogger;
[2010-05-02 21:57:05 - MyApp]     at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[2010-05-02 21:57:05 - MyApp]     at com.android.dx.dex.file.DexFile.add(DexFile.java:143)
[2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main.processClass(Main.java:301)
[2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main.processFileBytes(Main.java:278)
[2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main.access$100(Main.java:56)
[2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:229)
[2010-05-02 21:57:05 - MyApp]     at com.android.dx.cf <http://com.android.dx.cf.direct.ClassPathOpener.pro> .direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
[2010-05-02 21:57:05 - MyApp]     at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)
[2010-05-02 21:57:05 - MyApp]     at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
[2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main.processOne(Main.java:247)
[2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183)
[2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main.run(Main.java:139)
[2010-05-02 21:57:05 - MyApp]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2010-05-02 21:57:05 - MyApp]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[2010-05-02 21:57:05 - MyApp]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[2010-05-02 21:57:05 - MyApp]     at java.lang.reflect.Method.invoke(Method.java:592)
[2010-05-02 21:57:05 - MyApp]     at com.android.ide.eclipse.adt.internal.sdk.DexWrapper.run(Unknown Source)
[2010-05-02 21:57:05 - MyApp]     at com.android.ide.eclipse.adt.internal.build.ApkBuilder.executeDx(Unknown Source)
[2010-05-02 21:57:05 - MyApp]     at com.android.ide.eclipse.adt.internal.build.ApkBuilder.build(Unknown Source)
[2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:627)
[2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)
[2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
[2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)
[2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)
[2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309)
[2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341)
[2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140)
[2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238)
[2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
[2010-05-02 21:57:05 - MyApp] 4 errors; aborting
[2010-05-02 21:57:05 - MyApp] Conversion to Dalvik format failed with error 1

标签: android
11条回答
冷血范
2楼-- · 2020-03-01 09:00

I had written a blog post about one possible cause of this error and its solution here. Hope this helps.

查看更多
Luminary・发光体
3楼-- · 2020-03-01 09:02

In r14 they changed the way in which external libraries are referenced and it can cause this problem. You can fix it by removing the linked folders (with _src in the name) from the folder tree:

  • Right click and select "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.

see http://android-developers.blogspot.co.uk/2011/10/changes-to-library-projects-in-android.html

查看更多
迷人小祖宗
4楼-- · 2020-03-01 09:07

I just had this as well but I made sure ahead of time that I did not have a duplicate class in my jar file. This was some other issue dealing with multiple loading of the same jar or something. The classpath and the list of Referenced Libraries looked appropriate. After some flailing around, some combination of the following fixed it:

  • I was using a different external jar that was also local in the directory. I removed it from the build-path and re-added it from the local jar instead.
  • I removed all external jars and re-added them one at a time making sure they were the right ones.
  • I removed the .classpath file in my project as well as the bin and gen directories.
  • I cleaned the project in Eclipse, forcing the files to be regenerated.
  • I also shuffled around the jar file above the gen directory in the build order.

Some combination of the above seemed to fix the issue. If it happens again, I will be more careful to see if I can reproduce it.

查看更多
放我归山
5楼-- · 2020-03-01 09:07

My problem was due to having the same project references also in library projects. A few updates ago this was normal behaviour, but since the change in library handling, I now needed to remove the references from my projects and have only one of the libraries reference it.

查看更多
老娘就宠你
6楼-- · 2020-03-01 09:10

I get really mad with this problem trying to do all the posible solutions, but none worked for me: Clean project, Re-build, erasing libraries, linking again the libraries, updating proguard, editing proguard files...

Finally the solution was much more easy: Project, Android Tools, Fix project propieties.

Now I can export the apk.

查看更多
登录 后发表回答