一款Android端自動化圖片壓縮的gradle插件,
一鍵
掃描項目中的資源目錄並進行批量圖片壓縮,提供3種壓縮方式,支持有損及無損壓縮.同時會記錄已壓縮的文件,適合我的及團隊協同使用.git
github地址:github.com/duking666/I…github
一鍵點擊
便可解決感受
像壓縮過,但實際可能沒有,那我到底是該手動壓縮一下仍是偷偷懶直接放項目中呢?ImgCompressPlugin幫你解決!第一步:在Project
的build.gradle文件中:web
buildscript {
repositories {
jcenter()
}
dependencies {
...
classpath 'com.kingkingdu.plugin:img-compressor:1.1.5'
}
}
...
...
//圖片壓縮插件配置,後文有對配置信息介紹
apply plugin: 'img-compressor'
imgCompressOpt{
way="pngquant"
test = false
whiteFiles=["text_pic1.png","test_pic2.jpg"]
minSize=5
tinyKeys=["your key"]
}
複製代碼
第二步:引入後點擊sync now
,gradle配置完畢後會顯示下圖imgCompressTask
,雙擊便可執行,等待壓縮結果便可 json
way
:設置壓縮的方式,支持3種常見的壓縮,"tinypng","pngquant","zopflip" 3選1,壓縮方式選擇及壓縮效果見下圖test
:設置測試模式是否開啓,false表示壓縮後圖片直接覆蓋原圖,true表示會把原圖及壓縮圖輸出到測試目錄(Project/ImageCompressTest)whiteFiles
:選填,白名單文件數組,不進行壓縮minSize
:單位爲KB,設置原圖大於某個數值才觸發壓縮,0表示所有都壓縮tinyKeys
:選填,僅在way="tinypng"狀況下才須要,tinyKeys申請教程入口原圖 | tinypng | pngquant | zopflip |
---|---|---|---|
壓縮類型 | 有損 | 有損 | 無損 |
1.3M | 445KB | 542KB | 903KB |
(Project/ImageCompressTest)
,壓縮後的圖片命名爲xxxx(test).png
引入本插件,配置測試模式test=false,初次執行imgCompressTask
後,查看log,會打印相似日誌:數組
執行task後會在project目錄下生成image-compressed-info.json
文件,記錄了已壓縮的圖片信息bash
經過Android studio自帶的版本控制對比壓縮先後圖片是否失真,將失真圖片(通常不多)加入白名單中,同時revert恢復原圖app
將image-compressed-info.json
文件加入到版本控制,提交修改後的圖片及json文件ide
在後續的版本開發中,團隊中的任何人在開發過程當中加入任何圖片,或者等版本提測後,執行一次task便可壓縮新版本引入的圖片,舊版本的圖片保持不變,也不會出現團隊成員重複壓縮的狀況工具
建議團隊中一位童鞋專門處理圖片壓縮便可,無需全部人都懂得使用.也避免了json文件衝突問題.組件化
此插件已在筆者團隊中線上使用,效果不錯. 最後,附上項目開源地址:github.com/duking666/I… 歡迎star和fork,歡迎廣大網友爲項目貢獻代碼或提出issue,謝謝