Home | History | Annotate | Download | only in docs
      1 <!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      2 <html>
      3 <head>
      4 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
      5 <meta http-equiv="content-style-type" content="text/css">
      6 <meta name="author" content="Eric Lafortune">
      7 <meta name="description" content="ProGuard: java shrinker, optimizer, obfuscator, and preverifier">
      8 <meta name="keywords" content="java obfuscator, optimizer, shrinker, preverfier">
      9 <link rel="stylesheet" type="text/css" href="style.css">
     10 <title>ProGuard Main</title>
     11 <script type="text/javascript" language="JavaScript">
     12 <!--
     13 if (window.self==window.top)
     14   window.top.location.replace("index.html#"+window.location.pathname+window.location.hash);
     15 else {
     16   if (window.top.location.hash!="")
     17     window.top.location.hash="";
     18 }
     19 //-->
     20 </script>
     21 </head>
     22 <body>
     23 
     24 <h2>Main</h2>
     25 
     26 <p class="intro">
     27 <b>ProGuard</b> is a free Java class file shrinker, optimizer, obfuscator, and
     28 preverifier. It detects and removes unused classes, fields, methods, and
     29 attributes. It optimizes bytecode and removes unused instructions. It renames
     30 the remaining classes, fields, and methods using short meaningless names.
     31 Finally, it preverifies the processed code for Java 6 or for Java Micro
     32 Edition.
     33 </p>
     34 Some uses of <b>ProGuard</b> are:
     35 <ul>
     36 
     37 <li>Creating more compact code, for smaller code archives, faster transfer
     38     across networks, faster loading, and smaller memory footprints.</li>
     39 
     40 <li>Making programs and libraries harder to reverse-engineer.</li>
     41 
     42 <li>Listing dead code, so it can be removed from the source code.</li>
     43 
     44 <li>Retargeting and preverifying existing class files for Java 6, to take full
     45     advantage of Java 6's faster class loading.</li>
     46 
     47 </ul>
     48 <p>
     49 <b>ProGuard</b>'s main advantage compared to other Java obfuscators is
     50 probably its compact template-based configuration. A few intuitive command
     51 line options or a simple configuration file are usually sufficient.
     52 The user manual explains all available options and shows examples of this
     53 powerful configuration style.
     54 <p>
     55 <b>ProGuard</b> is fast. It only takes seconds to process programs and
     56 libraries of several megabytes. The results section presents actual figures
     57 for a number of applications.
     58 <p>
     59 <b>ProGuard</b> is a command-line tool with an optional graphical user
     60 interface. It also comes with plugins for Ant and for the JME Wireless
     61 Toolkit.
     62 <p>
     63 <p class="intro">
     64 <b>ProGuard</b> is being used in various development contexts, ranging from
     65 small Android apps to large Java applications and libraries. Its user base is
     66 continuing to grow at a fast pace. In order to better manage the many
     67 questions and requests, we are now providing professional support at
     68 <a target="_top" href="http://www.saikoa.com/proguard/support">Saikoa</a>.
     69 </p>
     70 The following sections provide more detailed information:
     71 <ul>
     72 <li><a href="main.html">Main</a>: this overview page.</li>
     73 <li><a href="results.html">Results</a>: some results obtained with
     74     <b>ProGuard</b>, including timings and memory usage.</li>
     75 <li><a href="FAQ.html">FAQ</a>: answers to some Frequently Asked Questions.</li>
     76 <li><a href="manual/index.html">Manual</a>: the complete <b>ProGuard</b> user
     77     manual, with examples and troubleshooting tips.</li>
     78 <li><a href="quality.html">Quality</a>: a discussion of the (excellent) quality
     79     of <b>ProGuard</b>'s code.</li>
     80 <li><a href="screenshots.html">Screenshots</a>: some impressions of what            <b>ProGuard</b> looks like.</li>
     81 <li><a href="testimonials.html">Testimonials</a>: what users think of
     82     <b>ProGuard</b>.</li>
     83 <li><a href="license.html">License</a>: <b>ProGuard</b> is free, under a GPL
     84     license.</li>
     85 <li><a href="downloads.html">Downloads</a>: download the <b>ProGuard</b>
     86     package yourself.</li>
     87 <li><a href="feedback.html">Feedback</a>: tell me about your experiences, or
     88     learn from others on our forums.</li>
     89 <li><a href="acknowledgements.html">Acknowledgements</a>: people who have been
     90     helpful.</li>
     91 <li><a href="alternatives.html">Alternatives</a>: other Java obfuscators,
     92     optimizers, and shrinkers.</li>
     93 </ul>
     94 
     95 <hr />
     96 <noscript><div><a target="_top" href="index.html" class="button">Show menu</a></div></noscript>
     97 <address>
     98 Copyright &copy; 2002-2011
     99 <a target="other" href="http://www.lafortune.eu/">Eric Lafortune</a>.
    100 </address>
    101 </body>
    102 </html>
    103