Project Url: wotomas/ShieldAuto
Introduction: 🛡️ ShieldAuto is a Java based Gradle plugin to manage proguard config for release builds
More: Author   ReportBugs   OfficialWebsite   

  • This project is meant for a proof of concept, to check if it is feasible to have a single magic solution for Proguard configurations
  • Currently its a 0.0.X version. Please don't use it in a real environment. Its terrible.
  • Basically googled and copied the first result for each proguard. The point I wanted to convey was that a single source, when crowdsourced enough, could bring value. (And also that most of google’s first result when used without knowledge is valueless)
  • My imagination of a real case usage in the future would be something like this:
    shieldConfig {  //inside build.config
     libraries {
         picasso {
             enableDownloader true
             useOkhttp3 true


CI status Download

We were tired of searching for proguard configs for every library that needed to be included in release APK. By using ShieldAuto developers don't have to worry about checking proguard config file to check if setup is correct for each imported libraries.

ShieldAuto checks your dependencies extension defined in the build.gradle file to check for matching proguard and to generate a simple proguard config file. In short, ShieldAuto is a Java based Gradle plugin to manage proguard config for release build.

This is still a premature version and any helps are welcome. Test cases, refactoring, optimization, bug fixes and adding any libraries are welcome. Current State diagram is as following:

State Diagram

How to use?

// modify project level build.gradle
buildscript {
    repositories {
        maven {
            url  ""
    dependencies {
        classpath 'info.kimjihyok:ShieldAuto:0.0.4'
// add ShieldAuto plugin below application plugin '' plugin
apply plugin: 'info.kimjihyok.ShieldAuto'

android {
    buildTypes {
        release {
            // apply to proguardFiles configuration
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), '',


Currently ShieldAuto is able to check for libraries imported only through compile configuration (which is deprecated and should be replaced with implementation, but direct access is not allowed right now). I would love for additional help with this issue.

Supported Libraries

Request for additional libraries could be submitted through issues. Pull requests are always welcome.


Copyright (C) 2018 Kim Jihyok

See the file License

Development and Contribution

We are open for any contributions. Please use the issue tickets for communication before sending pull requests.

Thanks to

Icons made by Maxim Basinski from is licensed by CC 3.0 BY
Support Me
About Me
Google+: Trinea trinea
GitHub: Trinea