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

  • Post author:
  • Post category:其他



android项目用eclipse–>export打包成签名apk出现了此错误


虽然出现了错误但还是在目标文件夹中生成了apk


原以为这个错误可以忽略(无论如何还是生成了apk…  o(╯□╰)o)


但发现此apk的内容是我代码没有更改前的样子


奇怪…


于是下决心解决此问题




先上我最后的


解决方案




问题的缘由就在于第三方库工程的引入,修改后Java Build Path参数如下:








引入了此上两个项目以后,Java Builder Path -> Libraries,可以看到Denpendencies自动就引入了这两个工程编译后生成的jar包








Order and Export如下(这个选项卡的含义是:

优先级


的调用,越在上边调用


优先级


越高,例如,在同包同类名的情况下,将优先从上到下执行搜索调用;打勾与不打勾的区别在于导出jar包时是否将这个库的内容也打包到jar中,勾为包含,不勾为不含。








至此,项目就能正常Export了




另外,提供其他几个在网上找来的解决方案以供参考:



原因一:由于引用的Jars不正确导致的








1、右键项目 -> Properties -> Java Build Path -> Libraries -> 移除所有Jar文件,然后点确定




2、右键项目 -> Fix Project Properties




3、Clean




重新编译运行。
















原因二:由于引用的Jars路径改变了导致的:








比如,从网络下载的项目源码,或者从其它电脑上拷过来的项目源码,由于原项目存储的位置与当前的位置不同,项目中引用的Jar文件路径不正确,解决办法:








1、右键项目 -> Properties -> Java Build Path -> Libraries ->选中指定的Jar,然后点“Edit”,重新选择Jar文件所在的路径位置;








2、确定保存;








3、Clean




重新编译运行。
















原因三:构建路径所需的对象








右键项目 ->  Properties -> JavaBuildPath -> Projects,在”Required objects on the build path:”里面添加所需的Library。
















原因四:由[Android SDK 安装目录]\tools\proguard\bin\proguard.bat文件里面的ProGrard命令行导致的问题:








编辑下面的行会解决这个问题:

















call %java_exe%-jar”%PROGUARD_HOME%”\lib\proguard.jar%*








改为








call %java_exe% -jar “%PROGUARD_HOME%”\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
















原因五:用的ADT  12+版本,需要将proguard的版本从4.4升级到4.6:








删除[Android SDK 安装目录]\tools\proguard\lib\proguard.bat文件,然后重新下载4.6版本的文件并拷贝到[Android SDK 安装目录]\tools\proguard\lib\目录下
















原因六:ADT版本不兼容:








1、在您的应用程序项目,检查任何链接指向库项目的源文件夹(它们的名称的形式“LibraryName_src”)。




2、选择所有项目,单击鼠标右键,选择”Build Path”->”Remove from Build Path”。




3、选择“Also unlink the folder from the project”,并单击“Yes”。




4、Clean,重建和重新部署该项目。














版权声明:本文为Remember2原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。