webp应用实践-gradle插件

原理

在项目编译期间遍历intermediates/res下的图片资源,对于符合压缩条件的进行webp压缩,不符合的进行简单的png或者jpg压缩。

实现思路

  • 排除icon图片 解析AndroidManifest.xml 获得icon(google不推荐对icon图标转webp)
  • 获得需要打包的图片资源,通过android gradle 插件 api获得预处理资源目录 build/intermediates/res/merged
  • 遍历res目录获得所有图片,根据minSdkVersion选择压缩/转换 图片
    限制:不能开启aapt2,aapt2目前对合并的资源做了除了,导致遍历时无法识别到对于资源。(android-gradle 3.0.0之后: android.enableAapt2=false)
    image.png

    目前demo已经实现,但是前提是不开启aapt2的情况下,aapt2所做的事情可以查看相应文档:https://developer.android.com/studio/command-line/aapt2

Demo下载地址

https://pan.baidu.com/s/1l4CdoHRuEnnmdfZvehR_hA

你可能感兴趣的:(webp应用实践-gradle插件)