• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# This ProGuard configuration file illustrates how to process ProGuard
3# (including its main application, its GUI, its Ant task, and its WTK plugin),
4# and the ReTrace tool, all in one go.
5# Configuration files for typical applications will be very similar.
6# Usage:
7#     java -jar proguard.jar @proguardall.pro
8#
9
10# Specify the input jars, output jars, and library jars.
11# We'll read all jars from the lib directory, process them, and write the
12# processed jars to a new out directory.
13
14-injars  ../lib
15-outjars out
16
17# You may have to adapt the paths below.
18
19-libraryjars <java.home>/lib/rt.jar
20-libraryjars /usr/local/java/ant1.5.0/lib/ant.jar
21-libraryjars /usr/local/java/wtk2.1/wtklib/kenv.zip
22
23# Allow methods with the same signature, except for the return type,
24# to get the same obfuscation name.
25
26-overloadaggressively
27
28# Put all obfuscated classes into the nameless root package.
29
30-repackageclasses ''
31
32# Adapt the names and contents of the resource files.
33
34-adaptresourcefilenames    **.properties,**.gif,**.jpg
35-adaptresourcefilecontents proguard/ant/task.properties
36
37# The main entry points.
38
39-keep public class proguard.ProGuard {
40    public static void main(java.lang.String[]);
41}
42
43-keep public class proguard.gui.ProGuardGUI {
44    public static void main(java.lang.String[]);
45}
46
47-keep public class proguard.retrace.ReTrace {
48    public static void main(java.lang.String[]);
49}
50
51# If we have ant.jar, we can properly process the Ant task.
52
53-keep,allowobfuscation class proguard.ant.*
54-keepclassmembers public class proguard.ant.* {
55    <init>(org.apache.tools.ant.Project);
56    public void set*(***);
57    public void add*(***);
58}
59
60# If we have kenv.zip, we can process the J2ME WTK plugin.
61
62-keep public class proguard.wtk.ProGuardObfuscator
63