挤需体验三番钟,里造会干我一样,爱象节款混淆

logo
logo

![fpg][fpgsvg] ![License][licensesvg]

About

FreeProGuard 为方便广大 Android 开发者们今后防混淆配置,很久之前便有打算做这个免混淆库了,只是拖到最近才有空来实现该库,该库利用了 consumerProguardFiles 来传递 aar 中的防混淆配置到主工程中,所以依赖了该库后常用的主流三方库便不再需要开发者们手动配置了,当然,有些友善的库已采用了该方式,我也希望更多的开源库使用该方式从而省去开发者配置防混淆,本库已配置了如下防混淆文件(包括库的不同版本):

How to use

  1. 首先开启混淆,设置 minifyEnabled true
  2. 添加依赖:
    implementation "com.blankj:free-proguard:0.0.7"
    
  3. 把项目中的实体类加入到 proguard-rules.pro 文件中,一般为 -keep class urpackage.xx.bean/entity/model.** { *; },或者使用 @Keep 注解这些实体类;
  4. 把项目中需要防混淆的 jar 加入到 proguard-rules.pro 文件中,比如支付宝 SDK 的 -libraryjars libs/alipaySDK-20150602.jar,如果要对所有 jar 都防混,那么使用 -libraryjars libs 即可;
  5. 把项目中用到的一些不包括在如上列表中的三方库配置到 proguard-rules.pro 文件中,或者提 issue 使其加入到本库中来(小众或者冷门的不予合入哦)。

Profit

  1. 开启混淆会将代码中的所有变量、函数、类的名称变为简短的英文字母代号(也可自定义),在缺乏相应的函数名和程序注释的情况下,即使被反编译,也将难以阅读,提升应用的安全性;
  2. 混淆通过分析字节码,去掉冗余代码,再加上缩短了变量、函数、类的名称,可以进一步缩减应用大小,如果想混淆资源文件,可以使用微信的 AndResGuard

Last but not least

如果该库能为你节省 10 分钟甚至更多的时间,请把它分享给他人来帮助更多的开发者们节省时间,这些时间可以多陪伴家人、多运动、多做自己喜欢的事情,希望开源可以帮助到更多的人,也希望更多的人加入到开源中来。

ChangeLog

由于库刚发初版,后续还会加入更多的防混淆规则,所以版本号会不断迭代,稳定后会选择使用 1.0.0 版本。

由于库刚发初版,后续还会加入更多的防混淆规则,所以版本号会不断迭代,稳定后会选择使用 1.0.0 版本。

由于库刚发初版,后续还会加入更多的防混淆规则,所以版本号会不断迭代,稳定后会选择使用 1.0.0 版本。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 推荐一篇很有趣的文章http://mp.weixin.qq.com/s?__biz=MjM5NDcwMjUzMQ=...
    逆倒尘光梦一场阅读 267评论 0 0
  • 夜幕降临,火炉里的木炭被烧成橘红色,她百无聊赖的用铁钳捅着燃烧着的木炭,一阵寒风吹过,顿时感到脖子里冷风直灌,不禁...
    陈小妞妞阅读 803评论 0 1
  • 第二十三章 久违的声音 前情提要:深夜,董知雨回复了李子方的信,她自己的心也越来越释然。 董知雨找了几首肖邦的钢琴...
    听雨长歌阅读 333评论 0 1
  • 我们有一个月没有通电话了吧,可能是太久没有通电话,我再也没有以前那样积极了,以前的我从10点开始,准时握着手机,生...
    我说我害怕阅读 301评论 0 0