WebpConvert_Gradle_PluginWebp 批量替換圖片 gradle 插件
webp插件介紹
webp轉(zhuǎn)換插件可批量轉(zhuǎn)換 build時(shí) /build/intermediates/res/${flavorName}/${buildType}目錄下的圖片為webp格式, 打包出的apk就包含webp的圖片了。
其搜索目標(biāo)文件的規(guī)則如下
res下以drawable為開頭的目錄
后綴為png,jpg的文件
不包含.9圖片
webp插件的運(yùn)行時(shí)機(jī)是在 processXXXResource Task前 添加一個(gè)名為webpConvertPlugin的 task并執(zhí)行
局限性
Android 從4.0開始對webp格式的文件都有原生支持,所以如果你apk 的minSdkVersion 是 15以上 你不需要修改任何關(guān)于圖片使用的java代碼。
但請注意,如果你的項(xiàng)目里的jpg圖片包含alpha值的設(shè)置,轉(zhuǎn)換后的webp圖片是不能再4.2.1以下正常運(yùn)行的。
請參考:http://developer.android.com/guide/appendix/media-formats.html
安裝webp命令行工具
-
homebrew 安裝方法:
裝了brew 工具的同學(xué)可以用brew install webp
-
macports 安裝方法:
在http://distfiles.macports.org/MacPorts/中尋找對應(yīng)你系統(tǒng)的最新版MacPorts安裝包下載并安裝在終端依次運(yùn)行以下命令
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'
在內(nèi)層build.gradle文件中(即與src同級的文件)添加如下代碼
apply plugin: 'webpConvert' webpinfo { //是否在debug時(shí)跳過webp轉(zhuǎn)換 skipDebug = true //是否顯示log isShowLog = false }在與src同級的目錄下添加名為webp_white_list.txt的文件 此文件提供白名單功能 可以設(shè)置哪些文件不會被轉(zhuǎn)換為webp文件,配置時(shí),一個(gè)文件名為一行,如
bill_footer_sitepro_arrow.png cart_checkbox_false.png
好了,萬事具備,只要你clean后 assemble一發(fā),png,jpg就替換成功了,打包出的apk就包含webp的圖片了.so easy
gradle clean gradle assembleDebug
