之前給公司的App添加代碼混淆阔蛉,在代碼的混淆過(guò)程也遇到了不少的問(wèn)題挥等,再加上最近學(xué)習(xí)了一下Android Studio插件的開(kāi)發(fā)捕仔,所以就開(kāi)發(fā)一個(gè)代碼混淆插件方便項(xiàng)目的代碼混淆键畴。
截圖
第三方庫(kù)列表清單
目前插件的后臺(tái)已集成了如下圖的第三方開(kāi)源庫(kù)的代碼混淆以及基本的代碼混淆,還在努力地添加中驻右,也歡迎大家通過(guò)new issue提交列表中沒(méi)有的第三方開(kāi)源庫(kù)混淆代碼什黑。(你認(rèn)為微不足道的事情,也許可以幫到別人的大忙~)
使用
- 下載AndroidProGuard插件并安裝重啟堪夭。download
- 在菜單欄的Edit下拉菜單中選擇AndroidProGuard選項(xiàng)愕把。
- 如果彈出成功對(duì)話(huà)框拣凹,就可以按Ctrl+V粘貼到項(xiàng)目的proguard-rules.pro文件。
- 根據(jù)proguard-rules.pro報(bào)錯(cuò)的提示進(jìn)行修改成恨豁。
- 將項(xiàng)目app下gradle文件將minifyEnabled修改成true就可以測(cè)試混淆效果嚣镜。 (你可以使用AndroidKiller反編譯看一下效果,AndroidKiller的使用可以參考我寫(xiě)的這篇文章here)
注意
實(shí)際的項(xiàng)目通常會(huì)有多個(gè)的Module橘蜜,對(duì)于多個(gè)Module的代碼混淆網(wǎng)上資料比較少菊匿,經(jīng)過(guò)我實(shí)驗(yàn)得出:對(duì)于多個(gè)Module的項(xiàng)目,在應(yīng)用的Module(即app)下的proguard-rules.pro文件添加混淆代碼以及在Gradle里minifyEnabled開(kāi)啟即可计福。
如果項(xiàng)目在編譯的時(shí)候報(bào)warn信息跌捆,那么你可以使用-keep或者-dontwarn保留warn的類(lèi)。
最后
我知道項(xiàng)目的代碼混淆一般通诚笥保混淆一次就可以了佩厚,很多人認(rèn)為這個(gè)插件的意義不太,但是我可以告訴你我也是這么想的力麸,可是我也無(wú)辦法阻止我的行動(dòng)哈哈~
項(xiàng)目GitHub地址:https://github.com/zhonghanwen/AndroidProguardPlugin