apk瘦身之旅
我们完成一个app后,都需要生成一个apk,然后上线,而apk的大小也一定程度的影响了用户是否愿意下载你的这个app,所以也就有了apk瘦身这门艺术。
目录
- apk的结构
- 图片压缩
- 导入矢量图
- 适配问题
- Tint 着色器
- 动态库移除
- so库的相关知识点
- ABI
- 结束语
apk的结构
既然要对一个apk瘦身,首先我们就得知道apk格式的文件内容。实际上一个 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 apk文件就是一个zip包,我们只需要将后缀改为zip,然后进行解压就可以看到里面的内容了。下面我们来看下它里面的文件以及作用:
apk包含以下目录:
assets/
: 包含了应用的资源,这些资源能够通过AssetManager对象获得。lib/
: 包含了针对处理器层面的被编译的代码。这个目录针对每个平台类型都有一个子目录,比如armeabi, armeabi-v7a, arm64-v8a, x86, x86_64和mips。res/
: 包含了没被编译到resources.arsc的资源。META-INF/
: 包含CERT.SF和CERT.RSA签名文件,也包含了MANIFEST.MF文件。(译注:校验这个APK是否被人改动过)
apk包含以下文