使用 lint 检查无用资源
使用lint检测工具检查无用代码,注意不要使用一键删除,避免以下两个问题:
- 通过反射获取资源,可以将反射资源加入lint.xml,避过lint检测
- koltin目前对lint检测支持并不友好
使用 Gradle 插件压缩图片
利用 Gradle 插件我们可以在打包时把一些较大的图片资源压缩,从而达到瘦身的目的。插件项目地址
加入压缩图片资源插件, 将链接中的文件置于工程目录下,同时在项目中加入一下配置
1 | //project build.gradle |
使用微信的 AndResGuard 混淆压缩资源文件
AndResGuard 可以实现资源混淆,把冗长的资源路径变短,从而减小 apk 的大小。
使用Gradle插件
使用wx的AndResGuard插件, 配置如下:
1 | //project build.gradle |
使用命令行工具
参考官方文档
使用Webp替换png/jpg
使用Android Studio自带的工具可以很方便把项目中的png和jpg替换为webp。详见下图:
使用tinypng压缩png/jpg
对于minSdkVersion < 18 的App,不能将带有Alpha通道的png图片转成webp,需要使用tinypng进行图片压缩。tinypng官方提供了在线压缩的方式,但是这种方式明显不适合我们的Android工程。这里我们使用开源的命令行工具tinypng-cli来帮助我们完成压缩替换的工作。
- 由于
tinypng-cli
依赖于nodejs,所以要先安装nodejs。下载地址:https://nodejs.org/en/download/ - 使用npm安装tinypng-cli。
1
npm install -g tinypng-cli
- 向tinypng申请API Key,只需填写名字和邮箱即可。
- 设置全局的API Key:在当前用户的home目录下,新建一个
.tinypng
的文件,将申请的APK Key写入该文件。 - 进入要压缩的目录,运行命令,大功告成!更多用法参考:https://github.com/websperts/tinypng-cli#usage