打包签名时出现Conversion to Dalvik format failed with error 1

今天在导出签名APK时,居然出现了“Conversion to Dalvik format failed with error 1

于是,我习惯性地“Project”->“Clean”,把工程清理一下。

然后再重新导出签名APK,结果还是提示“Conversion to Dalvik format failed with error 1”!!!

 

我以为引入jar包出问题了,于是把jar包全部删除,重新引入,结果还是不行!!

 

然后疯狂地百度、谷歌,把所有搜索到的方法一一试了几遍,都没成功!!!

后来,做了几次实验之后,发现是在加入Library Project才报错的!!

确定,我的程序中是用到了第三方库工程。

 

然后,我打开了“Java Build Path”,随便弄一下!!如下:

 

打包签名时出现Conversion <wbr>to <wbr>Dalvik <wbr>format <wbr>failed <wbr>with <wbr>error <wbr>1

 

打包签名时出现Conversion <wbr>to <wbr>Dalvik <wbr>format <wbr>failed <wbr>with <wbr>error <wbr>1

打包签名时出现Conversion <wbr>to <wbr>Dalvik <wbr>format <wbr>failed <wbr>with <wbr>error <wbr>1


然后再试着导出为已签名的APK
结果就可以了!!!

,真是无法理喻啊~竟然有这样的事~~

我实在弄不懂是怎么一回事!!!~

 

这样可以是可以签名了,但是,Run As Android Application的时候,又出现ClassNotFoundException异常!!

  

最后的解决方法是,把工程复制一份到非Workspace目录,然后在Eclipse中,右击工程,删除工程!

再重新Import刚才复制的那一份工程!!

此时,无论是正常运行还是打包签名都可以了!!

  

 

 

这个错误是由于错误的添加了不必要的core library,我是多添加了Android.jar之后报错,把不要用掉的
包给去掉就好了。我本来把android.jar已经单独弄成了一个User Library了,最后还用add extenerl jar
的方式添加了它,所以错了,删除多余的android.jar就ok。下面是一些解决办法,我开始弄了一会,不行。

android低版本工程(如1.5)放到高版本环境中(如2.2)可能会上述错误,解决方法如下:
1。 如果不修改android sdk版本,则使用project clean 命令作用于某工程即可。
       (该处理方式只是在高版本中兼容了低版本工程,未真正意义上的升级)
2。 如果修改android sdk版本,则需要以下几个步骤:
       1)修改SDK
             选择工程,build path --> configure build path ---> library 删除引用的低版本SDK,
             然后add External JARs,选择高版本SDK,OK,保存
        2)修改classpath文件 
             该文件可能存在该项: <classpathentry kind="lib"   path ="你所指定的高版本的地址"
             把她修改成<classpathentry kind="con" 
path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" />
        3) 修改AndroidManifest.xml
             在AndroidManifest.xml文件中,application标签后添加<uses-sdk 
android:minSdkVersion="3"></uses-sdk>
        4) 修改default.properties(很重要)
              该文件最后一行(前面没用#的)target=android-3 该成target=android-8,保存。
        再看看你的工程和新建的android 2.2的工程结构就一样了。

 

posted @ 2014-11-11 16:43  n1rAy  阅读(2219)  评论(0编辑  收藏  举报