注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

银河军团大本营

光荣的军团,永远的丰碑 <坚持原创>

 
 
 

日志

 
 

Android 4.0 ProGuard 代码混淆  

2012-11-27 00:18:39|  分类: Android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  这些天试着做一个Android小游戏,想测试一下代码混淆,Google了一把,结果发现网上关于用ProGuard混淆代码的文章都是基于Android 2.3版的,而我用的目标平台是Android 4.0的,和2.3版的似乎不太一样。刚开始按网上说的试了好几次,都没有成功,今晚再次尝试,在一篇说得比较详细的文章(Android混淆代码工具ProGuard)启发下,终于试验成功了。

  其实Android 4.0要用ProGuard比2.3更简单:在Eclipse中打开工程目录下的project.properties文件,该文件中有以下两行:

# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

Android 4.0 ProGuard 代码混淆 - 银河军团 - 银河军团大本营
   

  根据这段说明,只要将proguard.config前面的#去掉,就可以利用ProGuard来混淆代码了!当然,默认的设置是不带优化功能的,可以用以下设置来加上代码优化功能(上图蓝色文字部分):

proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt

  接下来就是生成Apk了。这里需要注意的是,如果你用Eclipse里的Run或Build Project/Build All来生成Apk,是不会混淆代码的!这一点好多文章里没讲清楚,累得我编译运行了好多次,死活没效果,唉。有人说,可以看文档啊,呃,我的英文不行啊,看起来费劲,汗……言归正传,在Eclipse的Package Explorer里选中工程的根结点,在右键菜单里找到Android Tools,如下图所示,其下有两个子菜单项:“Export Signed Application Package...”和“Export Unsigned Application Package...”,一个是带RSA数字签名,一个是不带数字签名,根据需要选一个,然后按照向导操作即可,最终生成的Apk就是混淆过代码的了!查看效果可以用7z等压缩程序(Ubuntu中直接用归档管理器)打开,将其中的classes.dex解压,用dex2jar转成jar格式后,再用Java反编码工具打开,就会看到代码的混淆效果。

Android 4.0 ProGuard 代码混淆 - 银河军团 - 银河军团大本营
 
  评论这张
 
阅读(6792)| 评论(3)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018