WebpConvert_Gradle_PluginWebp 批量替换图片 gradle 插件
webp插件介绍
webp转换插件可批量转换 build时 /build/intermediates/res/${flavorName}/${buildType}目录下的图片为webp格式, 打包出的apk就包含webp的图片了。
其搜索目标文件的规则如下
res下以drawable为开头的目录
后缀为png,jpg的文件
不包含.9图片
webp插件的运行时机是在 processXXXResource Task前 添加一个名为webpConvertPlugin的 task并执行
局限性
Android 从4.0开始对webp格式的文件都有原生支持,所以如果你apk 的minSdkVersion 是 15以上 你不需要修改任何关于图片使用的java代码。
但请注意,如果你的项目里的jpg图片包含alpha值的设置,转换后的webp图片是不能再4.2.1以下正常运行的。
请参考:http://developer.android.com/guide/appendix/media-formats.html
安装webp命令行工具
-
homebrew 安装方法:
装了brew 工具的同学可以用brew install webp
-
macports 安装方法:
在http://distfiles.macports.org/MacPorts/中寻找对应你系统的最新版MacPorts安装包下载并安装在终端依次运行以下命令
export PATH=$PATH:/opt/local/bin sudo port selfupdate sudo port install webp
通过在终端键入 cwebp判断是否安装成功
webp插件的使用方法如下:
-
在外层的build.gradle文件中(即与settings.gradle同级的文件)添加如下代码
classpath 'com.mogujie.gradle:webpConvertPlugin:1.1.34'
在内层build.gradle文件中(即与src同级的文件)添加如下代码
apply plugin: 'webpConvert' webpinfo { //是否在debug时跳过webp转换 skipDebug = true //是否显示log isShowLog = false }
在与src同级的目录下添加名为webp_white_list.txt的文件 此文件提供白名单功能 可以设置哪些文件不会被转换为webp文件,配置时,一个文件名为一行,如
bill_footer_sitepro_arrow.png cart_checkbox_false.png
好了,万事具备,只要你clean后 assemble一发,png,jpg就替换成功了,打包出的apk就包含webp的图片了.so easy
gradle clean gradle assembleDebug