ProGuard, Java class file shrinker, optimizer, obfuscator, and preverifier
==========================================================================

This distribution contains the following directories:

- bin      : simple wrapper scripts to run ProGuard, its GUI, and ReTrace
- lib      : the main jars, compiled and ready to use with "java -jar ...."
- docs     : the complete documentation, licenses, etc. in html format
- examples : some example configuration files

The best place to start is docs/index.html

Example
=======

If you want to give ProGuard a spin right away, try processing the ProGuard
jar itself:

    cd examples
    java -jar ../lib/proguard.jar @proguard.pro

The resulting proguard_out.jar contains the same application, but it's a lot
smaller.

Enjoy!

http://proguard.sourceforge.net/

Copyright (c) 2002-2011 Eric Lafortune (eric@graphics.cornell.edu)

Android Addendum:
=================
NOTE: This distribution is identical to the official Proguard 4.7 release,
with the following modifications:
- the "src" and "build" directories were deleted (for space considerations)
- the task.properties file was moved from src/ into ant/ (to be compatible
  with the directory structure of earlier bundled versions of ProGuard
- this README file was updated to reflect the above changes

You can download the original proguard4.7.zip, containing the source code,
from http://proguard.sourceforge.net/.
