用ant实现自动打包android(二) — android代码混淆

 
楼主  收藏   举报   帖子创建时间:  2019-10-09 17:35 回复:0 关注量:0

          android developer关于proguard的介绍:    http://developer.android.com/tools/help/proguard.html

           ProGuard主页: http://proguard.sourceforge.net/index.html#

          android的ProGuard位于android sdk的tools/proguard目录下,如果在集成第三方sdk的时候,出现错误,建议更新到最新的ProGuard,下载地址: http://sourceforge.net/projects/proguard/files/

         Proguard工具经过shrinks、optimizes、obfuscates和preverify步骤,移除废弃代码同时使用晦涩的语义重命名类变量和方法。经过proguard处理的代码不容易被逆向同时减小了apk文件的大小。

         Proguard是被集成到android的build系统的,所以不需要手动调用。如果需要使用ProGuard只需要在<project_root>/'project.properties文件中配置 proguard.config=proguard.cfg 前提是当前工程目录下存在proguard.cfg文件,或者指定到文件的具体目录。 仅在release模式下,会使用ProGuard混淆代码。

         执行ProGuard后会生成的文件:

              1)dump.txt          描述apk文件里的所以类的内部结构

              2)mapping.txt     列出了原始的和混淆后的类、方法和属性的对应关系

              3)seeds.txt          列出了没有被混淆的类和属性

              4)usage.txt           列出了没有被打到apk文件中的代码

         这些文件置于<project_root>/bin/projuard目录下,如果您使用ant工具;如果使用eclipse,则置于<project_root>/proguard目录下面

         调试混淆代码

         retrace.bat | retrace.sh -verbose mapping.txt  obfuscated_trace,txt     所以一定要注意保存mapping,txt文件。

打赏