本文主要整理自How to reduce APK size in androidhtml
Proguard能夠刪除無效的java code,顯著地減少apk體積,可是要注意使用proguard以後要測試app,有時會致使一些bug。java
Split Apk能夠爲根據設備密度和ABI建立特定的Apk包,大大減小每一個apk的體積。android
使用Facebook開源的ReDex,ReDex在壓縮代碼的同時,還能夠提升性能。web
在gradle中使用ShrinkResources能夠去除無效的資源文件,從而減小最終的apk大小,在build.gradle中使用shrinkResources:bash
release {
...
shrinkResources true
...
}複製代碼
使用resConfigs來去除非必要的本地化資源:app
defaultConfig {
...
resConfigs "en", "hi"
...
}複製代碼
Vector Drawables相比圖片資源,要小不少。ide
使用debugCompile能夠避免把debug期間用到的library打包到release apk中。性能
使用WebP格式的圖片資源,相比PNG和JPEG,WebP在保證質量的同時,壓縮率更好。測試
能夠使用TinyPNG, OptiPNG等壓縮圖片。gradle
歡迎關注公衆號wutongke,按期推送移動開發前沿技術文章: