• Stars
    star
    562
  • Rank 78,682 (Top 2 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created about 6 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🔰 Config proguard for common Android libraries.

logo

fpg License

About

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

How to use

  1. 首先开启混淆,设置 minifyEnabled true
  2. 添加依赖:
    implementation "com.blankj:free-proguard:1.0.2"
  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

打个小广告

欢迎加入我的小专栏「基你太美」一起学习。

More Repositories

1

AndroidUtilCode

🔥 Android developers should collect the following utils(updating).
Java
33,174
star
2

awesome-java-leetcode

👑 LeetCode of algorithms with java solution(updating).
Java
8,683
star
3

AndroidStandardDevelop

🌟 Best practices in Android develop(final).
2,998
star
4

awesome-comment

💥 Funny comments
2,321
star
5

AndroidOfferKiller

💪 Help you get a better offer.
1,846
star
6

resume

🎉 An resume template for Android developers.
CSS
499
star
7

SwipePanel

Android 侧划,如斯优雅
Java
487
star
8

ALog

📝 A simple util of log in Android develop.
Java
450
star
9

RxBus

🚌 The RxBus as steady as an old dog.
Java
342
star
10

AucFrameTemplate

AucFrame
Groovy
255
star
11

ProgressRing

自定义View之渐变圆环进度条
Java
157
star
12

doge-expression

🐶 Expression of cartoon doge
139
star
13

HelloKotlin

💨 Kotlin从入门到JAVA
80
star
14

glory

select * from learn
CSS
36
star
15

NiceViewPager

Java
25
star
16

proguard-templates

24
star
17

blankj.github.io

homepage
HTML
22
star
18

AutoCheckEditTextDemo

Automatically check user's input is correct.
Java
17
star
19

AchieveScroll

Java
15
star
20

RecyclerPopupWindow

Use RecyclerView and PopupWindow to Replace ListPopupWindow
Java
15
star
21

StaticBus

🚌 A static bus use in modules.
Java
15
star
22

Blankj

About me
11
star
23

GetRotateDegree

Java
10
star
24

EditTextPassword

Java
10
star
25

AndroidUtilDebug

7
star
26

AndroidStudioGitIgnore

Android Studio .gitignore
6
star
27

CustomViewGroup

Java
5
star
28

AndroidCommon

Java
5
star
29

AppFrame

Java
5
star
30

RewriteView

Java
4
star
31

MyTopBar

Java
3
star
32

ListViewExpandation

Java
3
star
33

GoGoGo

3
star
34

ListViewSkill

Java
2
star
35

EventIntercept

Java
2
star
36

JavaUtilCode

1
star
37

AndroidStudioPluginTemplate

1
star
38

Lg

二次封装mars-xlog
C++
1
star
39

AndroidStudioTemplatePlugin

1
star