zoukankan      html  css  js  c++  java
  • Android 4.0 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

     根据这段说明,只要将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反编码工具打开,就会看到代码的混淆效果。

  • 相关阅读:
    牛客网-湘潭大学校赛重现H题 (线段树 染色问题)
    bzoj 2243: [SDOI2011]染色 (树链剖分+线段树 区间合并)
    SPOJ QTREE2 (LCA
    Neo4j-Cypher
    MySQL避免插入重复记录:唯一性约束
    python ftp教程
    Neo4j 导入 CSV 文件
    jupyter notebook 安装 jupyter_contrib_nbextension
    python 性能分析(时间,空间)之 line_profiler 模块 ,memory_profiler的使用
    hive 自定义函数
  • 原文地址:https://www.cnblogs.com/androidez/p/3013306.html
Copyright © 2011-2022 走看看