android使用proguard实现代码混淆
一、代码混淆都做了什么?
1、代码混淆通常主要是去除不必要的代码,是用一些晦涩难懂的名称来重命名类,属性,方法等,以达到减小代码体积,增加反编译难度的目的。(如果我们的应用是收费的或者保密的,那么我们就很有必要通过代码混淆来提高我们代码的安全性)
二、在Eclipse中启用ProGuard
1、确定Android SDK目录下是否存在proguard文件夹
例如我自己的D:\Environment\android-sdk-windows\tools\proguard
2、配置
1)检查项目根目录下是否存在proguard.cfg文件,如果不存在(说明的当前的项目是2.3以前的项目),需要新建一个2.3的android项目,从该项目中将proguard.cfg文件拷贝到你的项目根目录中,无需改动(除非你明白如何自定义自己的混淆策略),继续下面步骤。
2)如果存在,则找到项目根目录下的default.properties[如果你使用的是ADT14或者更高版本,那么项目中没有default.properties文件,只有project.properties文件,找到project.properties文件即可]文件,在文件中增加一项配置:proguard.config=proguard.cfg
这样就完成了配置,是不是很简单啊。以后使用Eclipse打包的该项目APK都被混淆了。下面的三、四、五是一些错误解决方案和详细文档。
三、可能出现的错误
1、在打包APK的时候可能会出现如下错误:
Conversion to Dalvik format failed with error 1
解决方案:
在Android SDK安装目录下找到如下proguard.bat打开,如下修改:
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
四、开源的代码混淆工具ProGuard
1、项目文档:(若想自定义自己的混淆策略应该从这里了解)
http://proguard.sourceforge.net/index.html#manual/introduction.html
五、Android中集成了ProGuard工具来实现代码混淆
1、Android中的ProGuard使用指南
windows系统中指南位置:
android-sdk-windows/docs/guide/developing/tools/proguard.html
Google在线DevGuid中的位置:
http://developer.android.com/guide/developing/tools/proguard.html
摘自 沉没了沉默
补充:移动开发 , Android ,