Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
269 views
in Technique[技术] by (71.8m points)

android - "Conversion to Dalvik format failed with error 1" -- on export only

I know this is a repeat question but I've read and tried every solution on this site and I'm still getting the error; also, I'm getting it ONLY when I export my signed apk from Eclipse. I'm able to build and run the unsigned apk.

I have:

  • Deleted (and later restored) all libraries from the build path
  • Cleaned and rebuilt all my projects
  • Restarted Eclipse with -clean option
  • Re-create the app project from scratch

I know error 1 means I have duplicate symbols but I've checked, clean and rebuilt my build path a million times and I still get the error, only when I export.

  • If I had duplicate symbols, wouldn't I get an error 1 for my unsigned apk too?
  • If I really do have duplicate symbols, how can I get Eclipse to tell me what they are? All I get from the export wizard is a one-line error dialog. :(
  • I don't get any errors when I manually sign the apk, but when I install it on a phone I get a simple error: "Application not installed." :(:(

My project structure is as follows:

  1. One Android library project with 99% of my code. It has one copy of the required jar files in the build path.
  2. One Android app project with two classes. It references the library project via the Android tab, NOT the Java build path. There are no additional sources, projects or libraries referenced in the build path except for Android 2.1. I even re-created this project from scratch (I didn't re-created the library project because it's much bigger).

Everything was working a few days ago! Any suggestions are much appreciated!

Thanks in advance...

EDIT-UPDATE: The error goes away when I disable Proguard. Very strange.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

This is an issue with Proguard in the Windows developer tools - edit Android SDKoolsproguardinProguard.bat

Replace:

call %java_exe% -jar "%PROGUARD_HOME%"libproguard.jar %*

with:

call %java_exe% -jar "%PROGUARD_HOME%"libproguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9

Keep a reference to this solution because next time you update the SDK tools it'll probably be reintroduced (has been present in last few releases).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...