proguard - Java classfile shrinker, optimizer, obfuscator

Property Value
Distribution RPM Universal
Repository JPackage 6.0 Devel all
Package filename proguard-4.5.1-1.jpp6.noarch.rpm
Package name proguard
Package version 4.5.1
Package release 1.jpp6
Package architecture noarch
Package type rpm
Homepage -
License -
Maintainer -
Download size 638.90 KB
Installed size 712.45 KB
ProGuard is a free Java class file shrinker, optimizer,
obfuscator, and preverifier. It detects and removes unused
classes, fields, methods, and attributes. It optimizes
bytecode and removes unused instructions. It renames the
remaining classes, fields, and methods using short
meaningless names. Finally, it preverifies the processed
code for Java 6 or for Java Micro Edition.
Some uses of ProGuard are:
* Creating more compact code, for smaller code archives,
faster transfer across networks, faster loading, and
smaller memory footprints.
* Making programs and libraries harder to reverse-engineer.
* Listing dead code, so it can be removed from the source
* Retargeting and preverifying existing class files for
Java 6, to take full advantage of Java 6's faster class
ProGuard's main advantage compared to other Java obfuscators
is probably its compact template-based configuration. A few
intuitive command line options or a simple configuration
file are usually sufficient. For instance, the following
configuration option preserves all applets in a jar:
-keep public class * extends java.applet.Applet
The user manual explains all available options and shows
more examples of this powerful configuration style.
ProGuard is fast. It only takes seconds to process programs
and libraries of several megabytes. The results section
presents actual figures for a number of applications.
ProGuard is a command-line tool with an optional graphical
user interface. It also comes with plugins for Ant and for
the JME Wireless Toolkit.


Package Version Architecture Repository
proguard - - -


Name Value
/bin/bash -
java >= 1.6.0
jpackage-utils >= 1.7.5


Name Value
proguard = 4.5.1-1.jpp6


Type URL
Binary Package proguard-4.5.1-1.jpp6.noarch.rpm
Source Package proguard-4.5.1-1.jpp6.src.rpm

Install Howto

Fedora, CentOS, RHEL:
  1. Create the repository config file /etc/yum.repos.d/jpackage-generic-6.0-devel.repo:
    name=JPackage (free), generic
  2. Install proguard rpm package:
    # yum install proguard
  1. Add the JPackage 6.0 Devel repository:
    # zypper addrepo jpackage-6.0-devel
  2. Install proguard rpm package:
    # zypper install proguard
Mandriva, Mageia:
  1. Add the JPackage 6.0 Devel repository:
    # urpmi.addmedia jpackage-6.0-devel with
  2. Update packages list:
    # urpmi.update -a
  3. Install proguard rpm package:
    # urpmi proguard




2010-09-22 - Ralph Apel <> 4.5.1-1
- First JPP release

See Also

Package Description
proguard-gui-4.5.1-1.jpp6.noarch.rpm A GUI for proguard
proguard-javadoc-4.5.1-1.jpp6.noarch.rpm Javadoc for proguard
proguard-manual-4.5.1-1.jpp6.noarch.rpm Documents for proguard
qdox-1.12-2.jpp6.noarch.rpm Extract class/interface/method definitions from sources
qdox-1.9.2-1.jpp6.noarch.rpm Extract class/interface/method definitions from sources
qdox-javadoc-1.9.2-1.jpp6.noarch.rpm Javadoc for qdox
qdox-manual-1.9.2-1.jpp6.noarch.rpm Documents for qdox
quickfixj-1.5.0-1.jpp6.noarch.rpm Java implementation of FIX protocol
quickfixj-javadoc-1.5.0-1.jpp6.noarch.rpm Javadoc for quickfixj
restlet-1.1.10-1.jpp6.noarch.rpm Java REST framework
restlet-javadoc-1.1.10-1.jpp6.noarch.rpm Javadoc for restlet
sandler-0.5-1.jpp6.noarch.rpm Java Atom processor
sandler-javadoc-0.5-1.jpp6.noarch.rpm Javadoc for sandler
sat-0.7-1.jpp6.noarch.rpm Sweet Ant Tools
sat-javadoc-0.7-1.jpp6.noarch.rpm Javadoc for sat