How to upgrade ProGuard for Android?

activity picture activity · Feb 27, 2017 · Viewed 12.1k times · Source

I used Android SDK Manager to download the latest version of Android SDK. But ProGuard was not updated and remained at version 4.7.

Is it necessary to manually download ProGuard from its website and unzip it to \android-sdk\tools\proguard ?

Or will Android SDK always use Version 4.7? It has been this way for 4 years.

Answer

sschuberth picture sschuberth · Mar 14, 2017

These days ProGuard is a dependency of the Android Gradle plugin, and is usually updated along with it. Looking at the output of ./gradlew buildEnvironment (supported since Gradle 2.10) you will see something like

classpath
+--- com.android.tools.build:gradle:2.2.3
|    \--- com.android.tools.build:gradle-core:2.2.3
...
|         +--- net.sf.proguard:proguard-gradle:5.2.1
|         |    \--- net.sf.proguard:proguard-base:5.2.1

If you want to use another ProGuard version than the one the Android Gradle plugin depends on you can override it like

buildscript {
    configurations.all {
        resolutionStrategy {
            // We want version 5.3.2 instead of 5.2.1.
            force 'net.sf.proguard:proguard-gradle:5.3.2'
        }
    }
}