Android Proguard混淆打包經(jīng)驗(yàn)總結(jié)

? ? ? ? 作為一名Android開發(fā),應(yīng)該了解并嘗試給自己的項(xiàng)目進(jìn)行Proguard混淆打包。項(xiàng)目經(jīng)過Proguard混淆打包后,會(huì)發(fā)現(xiàn)apk包體積會(huì)變小,也就是混淆可以使得apk瘦身;并且反編譯apk的時(shí)候會(huì)發(fā)現(xiàn), 項(xiàng)目中的源碼都被處理過,進(jìn)一步保障了apk的安全;這就是我所理解的Proguard混淆打包的兩個(gè)優(yōu)點(diǎn)。不過,想要真正給自己的項(xiàng)目進(jìn)行Proguard混淆打包,可不是一件容易的事情,真正嘗試去做了,才會(huì)發(fā)現(xiàn)有好多問題需要去解決,畢竟,混淆打包是針對特定的項(xiàng)目,每個(gè)項(xiàng)目需要混淆的代碼都是有區(qū)別的。不過,所有apk混淆打包,也有一些通用的規(guī)則處理,像這些規(guī)則,就可以自己記錄下來,這樣其他項(xiàng)目混淆打包的時(shí)候就可以復(fù)制粘貼使用混淆代碼了。好了,進(jìn)入正題,如何給自己的項(xiàng)目量身定制一套Proguard混淆代碼了?

? ? ? ? 關(guān)于Proguard混淆,給APP瘦身,Google官方也給出了文檔給了大致解釋,大家有興趣可以看看,純英文(夠嗆),不過怎么在Android Studio配置Proguard混淆,還是可以看懂的:

https://developer.android.com/studio/build/shrink-code.html

我們可以從這些方面對apk瘦身:

1)冗余的代碼,比如多余的jar包代碼;

2)未使用的靜態(tài)代碼;

3)資源代碼的冗余;

4)native code

5)圖片資源的優(yōu)化和壓縮

ProGuard混淆打包,解決的問題主要針對第一點(diǎn),一般項(xiàng)目進(jìn)行ProGuard混淆打包后,apk的體積會(huì)減小200-500KB左右。

簡書的編輯器還不太會(huì)用,找不到markdown編輯器,代碼塊沒法編寫,原文博客地址:

Android Proguard混淆打包經(jīng)驗(yàn)總結(jié)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容