APK瘦身優化,減小apk的大小
首先通過Android Studio自帶的工具分析我們的apk
這樣我們就可以很清楚地看到我們的apk中最大一部分是誰,點選對應項就可以檢視它的具體內容,如下圖
這裡我們可以詳細的看到apk中用到的所有的相關庫,可以根據自己的實際情況進行刪減,比如:我在壓縮的時候發現引入的地相簿比較大,確認之後發現只需用到定位功能,這時跟定位無關的東西就可以直接刪掉了。
其次我們可以在圖片資源上下手,對圖片進行壓縮。
方法一:將圖片格式轉換成webp,這個格式是 google 推出的圖片格式,有更小的體積,圖片質量還沒有什麼損失。
我們可以選中 drawable 和 mipmap 資料夾,右鍵後選擇 convert to webp,將圖片轉為 webp 格式。方法二:使用下面這個網站對圖片進行壓縮,親測效果非常明顯。
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