关于错误Conversion to Dalvik format failed with error 1

第一次遇到RT错误,特来记录一番

首先说明一下,我是在混淆签名打包的时候遇到的这个问题。我所用版本是sdk 2.3,而且再次之前3分钟我刚顺利打完一个包,三分钟之后却给我整这么一串英文出来,容我粗鲁一句,坑爹的eclipse坑姐的Android。

 

然后经过一番google,baidu,先总结一下网上的诸多解决方案,可能不同的人报错原因不一样(但目前我的报错原因依然不明不白),日后难免需借鉴。

   

    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,保存。 

    3.检查下你引用的第三方Jar包是否有误(路径,版本等是否有冲突)

    4.还有诸位兄弟在项目加入混淆之后导出时报该错(报错时机和我一样,但解决方案不一样,也可参考),解决方案:

        在SDK安装目录下的\tools\proguard\bin目录找到proguard.bat文件,将把 
      call %java_exe% -jar &quot;%PROGUARD_HOME%&quot;\lib\proguard.jar %* 
      改为: 
      call %java_exe% -jar &quot;%PROGUARD_HOME%&quot;\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9 
      即可! 就是改成和之前SDK版本中含有的proguard.bat文件一致。 

 

 然后说我自己。

试过如上所有解决方案,我的问题还是没有解决,导出apk依然报错,考虑到我的环境,源代码都没有改变(Eclipse都没关闭过),猜想可能是生成文件的问题,按照老套路把工程clean了一下,如旧。打开工程根目录,发现里面有个proguard文件夹,里面有几个我没见过的文件。怀疑是什么时候不知不觉生成的,抱着一试的心态手动将其删除。OK,问题解决。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值