一款用于优化png图片的gradle插件,有效减少APK体积,支持极限压缩和无损压缩。
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
arts
buildSrc add bintray version Oct 14, 2016
demo
gradle/wrapper
.gitignore
README-zh-rCN.md
README.md
build.gradle
gradle.properties Initial commit Jun 27, 2016
gradlew
gradlew.bat
settings.gradle

README.md

Download License Android Arsenal GitHub stars

中文版

img-optimizer-gradle-plugin

A gradle plugin for optimizing PNGs, effctively reducing APK size. Both extreme compression and lossless compression are available.

Available OS

Tested on macOSwindows10Ubuntu16.04LTS(amd64). If you have any questions, plz open issues.

How to use

Add the following Gradle configuration to your build.gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        ...
		classpath 'com.chenenyu:img-optimizer:latestVersion'
    }
}

Then in your moudle's build.gradle:

apply plugin: 'img-optimizer'

Now you can see the tasks in task tree:
Task
Double click to execute the task.

Configuration

You can add the following options to custom the task:

optimizerOptions {
    triggerSize 5
    type "lossy"
    suffix "_opt"
}
  1. triggerSize Used for filtering pictures. Picture whose size is less than this option will be ignored. Defaults to 0.
  2. type Now supports"lossy" and "lossless""lossy" means extreme compression(recommend, default, fast, effective),"lossless" means loseless compression(slow, inefficient)。
  3. suffix The suffix of the picture which has been optimized. If "_opt",the optimizer will generate a new picture orignal_opt.png for original.png. Defaults to null.

Preview

Original png Extreme compression(lossy) Loseless compression(lossless)
526K 195K(reduce 63%) 473K(reduce 10%)
原图 极限压缩 无损压缩

Note

If there are multiple modules in your project, please add the optimizer in where you want to execute optimization since each module is independent. The optimizer will generate log file in the root directory of current module.

Other libraries

SuperAdapter: Adapter(BaseAdapter, RecyclerView.Adapter) wrapper for Android.

License

Apache 2.0