在Android2.3版本以后的开发环境中,google提供了proguard代码混淆的功能(之前可以自己添加),用来保护我们辛辛苦苦写的一点代码。

对于新建的工程,根目录上会自动添加proguard.cfg文件,用于代码混淆,无论你建的target是android的那个版本,都会自动的添加上。

在想使用代码混淆的时候,在project.properties文件中添加proguard.config=proguard.cfg一句话,来表明你想使用代码混淆,还有一些简单的使用说明在\docs\guide\developing\tools\proguard.html文件中可以找到,还有一些使用proguard的注意事项,在这里也同样可以找到。

对于旧的工程,可以把对应的proguard.cfg拷贝过去,可以实现相同的效果。

在今天尝试混淆的时候出现了“Conversion to Dalvik format failed with error 1”的错误,网上搜到的解决方案都不是针对代码混淆的,后来终于在stackoverflow找到了问题的答案,是因为sdk tools reversion12 的问题,降到reversion11后就没有问题了,更好的解决方法也有人给出了:

找到[Android SDK Installation Directory]\tools\proguard\bin\proguard.bat文件,用编辑器打开(我用的是Editplus),将这句话:

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

就ok了。

其中我还出现了一个错误,是因为我之前在工程中添加了android-support-v4.jar,学习一下看看是否能够更好的兼容不同的版本,但是添加这个jar包之后,混淆的时候就会出现错误。有人说去掉proguard.cfg中-optimizationpasses 5这句话就可以解决,但是我现在对proguard了解的太少了,不知道每句话的具体含义,不敢删~,还是等以后研究明白之后再决定是否可以删。


原文:http://blog.csdn.net/naivesoft/article/details/6612410

更多相关文章

  1. 从零开始--系统深入学习android(实践-让我们开始写代码-Android框
  2. 联网疯狂坦克简陋版
  3. 整合谷歌Admob在Unity3D的Android和iOS游戏
  4. Android之截屏代码
  5. android ContentProvider 使用实例
  6. Android模仿QQ空间图片上传——原理
  7. android 元素 的用法
  8. inputtype 代码对应表
  9. android aar 混淆

随机推荐

  1. 针对android游戏截图分享
  2. android开发工具简介及下载地址
  3. android的重启(大部分是转载)
  4. Android(安卓)2.3.3 SDK 源代码关联Eclip
  5. android adb project
  6. android studio 升级到3.0.1 原有项目运
  7. android初入门工具及配置
  8. android killer插入log打印加密字符串
  9. android之listener
  10. Android(安卓)使用ToneGenerator编写按键