Apk的大小對於用戶是否選擇下載應用起着相當重要的影響
下面是對於減少Apk大小的一些經常使用且實用的方法總結
若有錯誤,歡迎你們踊躍指出javascript
使用 TinyPNG工具支持對PNG/JPEG圖片類型的壓縮html
根據狀況使用一下資源替換PNGjava
Drawable.xml
: 一些漸變背景圖或者形狀均可以直接經過xml繪製出來,SVG在Android中的應用 也能夠給你提供一些繪製的思路NinePatch
: 點9圖,體積小,支持拉伸不變形,實現一圖多用,下降APK體積。AndroidStudio提供PNG轉換成 NinePatch的方法,只須要對着PNG右鍵Create 9-Patch file
JPEG
: 在對透明通道無需求的狀況下,使用JPEG代替PNG也能夠下降APK 體積minifyEnable
: 啓動混淆,啓用混淆的同時他會對代碼壓縮和優化,找出沒有引用的代碼並 在生成APK以前剔除shrinkResources
: 只有當 minifyEnable
開啓,才能起做用。去除無用的resource文件。 注意 : shrinkResources
不能幫你移除資源文件, 只會幫你壓縮合並(多是由於R文件 生成id索引信息)。 Resources Not Found Exception
關於資源混淆目前比較好的是微信的方案:AndResGuard
相關的注意事項和使用方式在項目地址也有很清晰的說明了~~android
android {
...
defaultConfig {
...
resConfigs "en","fr"
ndk{
//設置支持的SO庫架構
abiFilters 'armeabi','x86','armeabi-v7a','x86_64','arm64-v8a'
}
}
}複製代碼
根據須要指定須要的語言和須要兼容的so庫文件,從而減小沒必要要的文件達到瘦身的目的。git
綜上所述,就能夠有效的精簡咱們安裝包中的 dex 文件大小,從而達到瘦身目的。github
《Android高級進階》 - 顧浩鑫
APK瘦身實踐
APK應用瘦身的一些坑
APK應用瘦身
WebP探索web