We are proud to announce the release of ProGuard 7.1, the newest version of our open-source optimizer and shrinker. This latest version provides improved usability and incorporates a number of exciting new features, including:
-keeprule suggestions given by-addconfigurationdebuggingThe way ProGuard is integrated into Android projects is changing because AGP 7 will no longer allow developers to disable R8 with the android.enableR8 Gradle property.
ProGuard 7.1 includes a new Gradle plugin which allows for a seamless integration with this new AGP version. A detailed and step-by-step guide for transitioning from the previous plugin is provided in the upgrading guide.
New Java versions are released every 6 months. To allow ProGuard to continue to optimize, obfuscate and shrink Java class files we have added support for the latest releases, up to Java 16. This includes:
ProGuard 7.1 adds five new code optimizations. These optimizations aim at reducing the number of classes required by the application and help pinpoint the specialized type wherever possible. This can have a positive impact on code shrinking and application performances.
ProGuard was previously hosted at JCenter, but this repository has recently been removed. ProGuard is now published to Maven Central.
mavenCentral()repository and dependencies to the proguard-gradle artifact.The-addconfigurationdebuggingallows configuring ProGuard-keeprules. For more details and to see this in action have a look at Configuring ProGuard, an Easy Step-by-Step Tutorial.-addconfigurationdebuggingpreviously reported -keep rule suggestions for classes, methods or fields that did not exist in the app. Such-keeprules are not necessary.
ProGuard 7.1 improves the suggestion of-keeprules by only suggesting rules for classes, methods and fields that were actually in the original application.
-keeprule suggestions provided by -addconfigurationdebugging.-keeprules configuration.
Download the latest ProGuard 7.1.0 from GitHub or easily integrate it into your Gradle project via Maven Central.