Android 源码通过makefile配置文件对系统APP进行代码混淆

本文介绍了如何在Android源码中通过makefile配置文件进行APP的代码混淆,重点讨论了ProGuard工具的作用和优化过程。作者强调了混淆模式的选择,如full、custom、nosystem等,并提供了具体的Android.mk文件配置示例,帮助开发者实现自定义混淆规则和优化。
摘要由CSDN通过智能技术生成

ProGuard 工具简介
ProGuard是Java字节码最受欢迎的优化程序。它能够让Java代码变小90%变快20%。ProGuard通过混淆类名、属性、方法来提供对代码的保护,一次对抗反编译工程。
ProGuard是一个对Java类文件进行压缩,优化,混淆和校验的工具。
压缩过程查找并删除没有使用到的类,字段,方法和属性。优化过程对方法的字节码进行分析和优化。
混淆过程把剩余的元素名字该写成简短且无意义的名字。这些过程会使程序体积更小,运行更高效,更难被反编译。
最后的校验过程为类增加校验信息,但这个过程依赖J2ME和JDK6或以上的编译环境

再次之前我查阅了很多博客 都只说将 LOCAL_PROGUARD_E NABLED:= full LOCAL_PROGUARD_FLAG_FILES := proguard.flags
自己实际测试过是不行的 写这些的人肯定自己没有测试过很坑容易误导别人直接就复制别人的博客内容就进行发表 我写的博客都会经过我自己实际测试的才会发表

Android.mk文件中,用LOCAL_PROGUARD_ENABLED来配置混淆的模式:
LOCAL_PROGUARD_FLAG_FILES用来指定配置文件 如想用自己的配置文件就有这个属性来引用自己编写的配置文件
LOCAL_PROGUARD_ENABLED的取值比较多如下:

full:使用编译系统默认的配置:压缩但不混淆和优化,默认的混淆配置文件是build/core/proguard.flags 内部引用的是 proguard_basic_keeps.flags 可以将这个文件里面的内容拷贝出来在此基础上加上自己的东西

custom:和full一样,但不包括aapt生成的resource相关的混淆配置。

nosystem:不使用系统的默认配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值