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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容