擠需體驗三番鍾,裏造會幹我同樣,愛象節款混淆

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 版本。安全

相關文章
相關標籤/搜索