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