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