Skip to content

利用了 consumerProguardFiles 来传递 aar 中的防混淆配置到主工程中,依赖该库后常用的主流三方库便不再需要手动配置了

Notifications You must be signed in to change notification settings

zhaoxiuyu/Proguards

Repository files navigation

1.平常项目中用到很多第三方库,就把用到的混淆配置累计到这里面了,方便以后使用。

2.利用consumerProguardFiles 来传递 aar 中的防混淆配置到主工程中,依赖该库后常用的主流三方库不再需要手动配置了,已经添加的混淆文件可以查看工程,以后会继续添加完善。

说明:

1.首先开启混淆设置 minifyEnabled true
2.加入依赖
allprojects {
        repositories {
			maven { url 'https://jitpack.io' }
		}
	}
	dependencies {
	   implementation 'com.github.zhaoxiuyu:Proguards:Tag'
	}
3.把项目中的实体类加入到 proguard-rules.pro 文件中,一般为 : 

# -keep class com.sendinfo.leshan.platform.entitys.response.** {*;}
# -keep class com.base.library.entitys.** {*;}
4.把项目中需要防混淆的jar加入到 proguard-rules.pro 文件中。
比如支付宝SDk的:
-libraryjars libs/alipaySDK-20150602.jar:
如果要对所有的jar防混,那么使用:
-libraryjars libs 
5.把项目中用的到一些不包括在如上列表中的三方库配置到 proguard-rules.pro 文件中。
我会不定时更新 和 累加以上混淆配置。

已配置的防混文件:

配置文件 地址
混淆配置说明 ..
Common通用配置 ..
ARouter - 路由 ..
AliPay - 支付宝 需防混 jar
Androidanimations - 动画 ..
BaiduMap - 百度地图 需防混 jar
Banner - 轮播图 ..
Bugly ..
CalendarView - 日历 ..
Easing 该库被Androidanimations依赖
EventBus ..
GaoDeMap - 高德地图 ..
Glide - 图片加载 ..
GreenDAO - 数据库 ..
Gson ..
Ijkplayer ..
Immersionbar - 沉浸式 ..
JPush - 极光推送 ..
XiaoMiPush - 小米推送 ..
VivoPush - vivo推送 ..
MeiZuPush - 魅族推送 ..
HuaWeiPush - 华为推送 ..
OPPOPush - oppo推送 ..
LitePal - 数据库 ..
MMKV ..
OkHttp ..
Coroutines - 协程 ..
Retrofit ..
RxJava ..
RxLife - 解决RxJava内存泄漏 ..
ShareSDK ..
SuperTextView ..
Tencent - 腾讯相关 ..
UMeng - 友盟相关 ..
ViewAnimator - View动画 这个不需要混淆配置,如果出问题可以把这个加上
X5 - 浏览器 ..
XPopup - 弹窗 ..
ZXing - 二维码 ..
.. ..

混淆说明 :

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

其他常用库

------- 自带混淆配置的库 -------
SmartRefreshLayout
rxhttp
utilcodex
lottie
transformations
BaseRecyclerViewAdapterHelper
banner
bga-qrcode-zxing
------- 可混淆,不用配置 -------
rippleeffect
PickerView
bottom-navigation
switch-button
flexibledivider
------- 没有找到 -------
ShadowLayout
smart-swipe
PinnedSectionItemDecoration
FlexItemDecoration
AndPermission

About

利用了 consumerProguardFiles 来传递 aar 中的防混淆配置到主工程中,依赖该库后常用的主流三方库便不再需要手动配置了

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages