android代码混淆是出现Conversion to Dalvik format failed with error 1的解决办法

android代码混淆是出现Conversion to Dalvik format failed with error 1的解决方法最近做android项目,给

android代码混淆是出现Conversion to Dalvik format failed with error 1的解决方法

最近做android项目,给代码混淆时遇到问题,在项目加入混淆之后,编译打包时一直提示?

Java代码??android代码混淆是出现Conversion to Dalvik format failed with error 1的解决办法
  1. Conversion?to?Dalvik?format?failed?with?error?1??


从网上看到的解决方法解决不了我的问题,希望可以帮到你们,这里贴出来:?

Java代码??android代码混淆是出现Conversion to Dalvik format failed with error 1的解决办法
  1. android低版本工程(如1.5)放到高版本环境中(如2.2)可能会上述错误,解决方法如下:??
  2. 1。?如果不修改android?sdk版本,则使用project?clean?命令作用于某工程即可。??
  3. ???????(该处理方式只是在高版本中兼容了低版本工程,未真正意义上的升级)??
  4. 2。?如果修改android?sdk版本,则需要以下几个步骤:??
  5. ???????1)修改SDK??
  6. ?????????????选择工程,build?path?-->?configure?build?path?--->?library?删除引用的低版本SDK,??
  7. ?????????????然后add?External?JARs,选择高版本SDK,OK,保存??
  8. ????????2)修改classpath文件???
  9. ?????????????该文件可能存在该项:???
  10. ????????3)?修改AndroidManifest.xml??
  11. ?????????????在AndroidManifest.xml文件中,application标签后添加??
  12. ????????4)?修改default.properties(很重要)??
  13. ??????????????该文件最后一行(前面没用#的)target=android-3?该成target=android-8,保存。??
  14. ????????再看看你的工程和新建的android?2.2的工程结构就一样了。??

?
最终在一篇文章中找到了解决方法,这是android-sdk_r12 的问题,如下:?

Java代码??android代码混淆是出现Conversion to Dalvik format failed with error 1的解决办法
  1. http://stackoverflow.com/questions/6605971/android-sdk-tools-revision-12-has-problem-with-proguard-error-conversion-to-d??


解决方法是:?

Java代码??android代码混淆是出现Conversion to Dalvik format failed with error 1的解决办法
  1. http://code.google.com/p/android/issues/detail?id=18359??


在?
android-sdk-windows\tools\proguard\bin目录找到:?

Java代码??android代码混淆是出现Conversion to Dalvik format failed with error 1的解决办法
  1. proguard.bat??


用记事本打开,内容如下:?


Java代码??android代码混淆是出现Conversion to Dalvik format failed with error 1的解决办法
  1. ECHO?OFF??
  2. ??
  3. REM?Start-up?script?for?ProGuard?--?free?class?file?shrinker,?optimizer,??
  4. REM?obfuscator,?and?preverifier?for?Java?bytecode.??
  5. ??
  6. rem?Change?current?directory?and?drive?to?where?the?script?is,?to?avoid??
  7. rem?issues?with?directories?containing?whitespaces.??
  8. cd?/d?%~dp0??
  9. ??
  10. IF?EXIST?"%PROGUARD_HOME%"?GOTO?home??
  11. SET?PROGUARD_HOME=..??
  12. :home??
  13. ??
  14. set?java_exe=??
  15. call?"%PROGUARD_HOME%"\..\lib\find_java.bat??
  16. ??
  17. call?%java_exe%?-jar?"%PROGUARD_HOME%"\lib\proguard.jar?%*??



把?
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?
即可!?

对比之前的版本,发现这改法,就是改成和之前SDK版本中含有的proguard.bat文件一致。?

现在最新的android-sdk_r18-windows已经没有此问题了!?
而且默认已对android-support-v4.jar等声明过了,就无需再处理。?
新版本更为方便。?