1. 程式人生 > >APK瘦身優化,減小apk的大小

APK瘦身優化,減小apk的大小

首先通過Android Studio自帶的工具分析我們的apk



這樣我們就可以很清楚地看到我們的apk中最大一部分是誰,點選對應項就可以檢視它的具體內容,如下圖


這裡我們可以詳細的看到apk中用到的所有的相關庫,可以根據自己的實際情況進行刪減,比如:我在壓縮的時候發現引入的地相簿比較大,確認之後發現只需用到定位功能,這時跟定位無關的東西就可以直接刪掉了。


其次我們可以在圖片資源上下手,對圖片進行壓縮。

方法一:將圖片格式轉換成webp,這個格式是 google 推出的圖片格式,有更小的體積,圖片質量還沒有什麼損失。

我們可以選中 drawable 和 mipmap 資料夾,右鍵後選擇 convert to webp,將圖片轉為 webp 格式。



方法二:使用下面這個網站對圖片進行壓縮,親測效果非常明顯。

https://tinypng.com

TinyPNG使用智慧有失真壓縮技術來減小 PNG檔案的檔案大小。通過選擇性地減少影象中的顏色數量,需要較少的位元組來儲存資料。效果幾乎不可見,但它使檔案大小有很大的差別!

 

第三,混淆等相關配置

release {

   //混淆

   minifyEnabled true

   //Zipalign優化

   zipAlignEnabled true

   // 移除無用的resource檔案

   shrinkResources true

   //載入預設混淆配置檔案

   proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'

   signingConfig signingConfigs.release

}

 

第四,手動去除無用資源




第五,如果你的應用不需要支援國際化,那麼可以設定 resConfigs 為 "zh","en",即只支援中英文:

defaultConfig {

   //...

   //...

   //...

 

   resConfigs "zh","en"

}

這麼做是因為對於官方的 support library,預設是支援國際化的,也就是包含了很多不同語言的資原始檔,我們就可以通過這樣設定來移除用不到的語言資原始檔。

 

參考資料:

https://www.ctolib.com/topics-125849.html

https://juejin.im/post/5a0a59a5f265da43333de94b