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

logo

fpg
License

About

FreeProGuard 为方便广大 Android 开发者们从此防混淆配置,好久以前便有打算作这个免混淆库了,只是拖到最近才有空来实现该库,该库利用了 consumerProguardFiles 来传递 aar 中的防混淆配置到主工程中,因此依赖了该库后经常使用的主流三方库便再也不须要开发者们手动配置了,固然,有些友善的库已采用了该方式,我也但愿更多的开源库使用该方式从而省去开发者配置防混淆,本库已配置了以下防混淆文件(包括库的不一样版本):git

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 分钟甚至更多的时间,请把它分享给他人来帮助更多的开发者们节省时间,这些时间能够多陪伴家人、多运动、多作本身喜欢的事情,但愿开源能够帮助到更多的人,也但愿更多的人加入到开源中来。github

ChangeLog

因为库刚发第一版,后续还会加入更多的防混淆规则,因此版本号会不断迭代,稳定后会选择使用 1.0.0 版本。json

因为库刚发第一版,后续还会加入更多的防混淆规则,因此版本号会不断迭代,稳定后会选择使用 1.0.0 版本。api

因为库刚发第一版,后续还会加入更多的防混淆规则,因此版本号会不断迭代,稳定后会选择使用 1.0.0 版本。安全

相关文章
相关标签/搜索