步骤简介
- 图标使用SVG矢量图;
- 针对需要同一张图片不同颜色的情况下,使用Tint着色器;
- 将项目中资源转为webp格式
- 针对内置资源需要压缩包的情况,采用7z极限压缩;
- 删除国际化资源;(如appcompat-v7的引入,库中包含了大量的国际化资源,根据情况通过配置删除。)
- 动态库打包配置;(如果项目中包含第三方SDK或者自己使用了ndk,如果不进行配置会打包全cpu架构的动态库进入apk。对于真机,只需要保留一个armeabi(armeabi-v7a)就可以了。)
- 移除无用资源;
a、使用一键移除的方式,如果出现使用动态id使用资源会出现问题(不建议);
b、使用Lint检查,自己去觉得要不要移除; - 开启Proguard;(进行压缩(Shrink),优化(Optimize),混淆(Obfuscate),预检(Preveirfy))
- 开启代码压缩;(minifyEnabled=true)
- 启用资源缩减; (移除app中未使用的资源,包括代码库中未使用的资源。 只与代码压缩协同工作,未使用的代码被移除,任何不再被引用的资源也会被移除)
https://developer.android.google.cn/studio/build/shrink-code.html#shrink-resources - apk打包可以采用7z压缩方案(apk实质是也就是一个压缩包,所以同样可以采用7z压缩,从而达到瘦包)
- 版本大于等于7.0的话可以只使用v2签名; https://source.android.com/security/apksigning/