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/ant/lib/ant.jar 21 -libraryjars /usr/local/java/gradle-1.3/lib/plugins/gradle-plugins-1.3.jar 22 -libraryjars /usr/local/java/gradle-1.3/lib/gradle-base-services-1.3.jar 23 -libraryjars /usr/local/java/gradle-1.3/lib/gradle-core-1.3.jar 24 -libraryjars /usr/local/java/gradle-1.3/lib/groovy-all-1.8.6.jar 25 -libraryjars /usr/local/java/wtk2.5.2/wtklib/kenv.zip 26 27 # Allow methods with the same signature, except for the return type, 28 # to get the same obfuscation name. 29 30 -overloadaggressively 31 32 # Put all obfuscated classes into the nameless root package. 33 34 -repackageclasses '' 35 36 # Adapt the names and contents of the resource files. 37 38 -adaptresourcefilenames **.properties,**.gif,**.jpg 39 -adaptresourcefilecontents proguard/ant/task.properties 40 41 # The main entry points. 42 43 -keep public class proguard.ProGuard { 44 public static void main(java.lang.String[]); 45 } 46 47 -keep public class proguard.gui.ProGuardGUI { 48 public static void main(java.lang.String[]); 49 } 50 51 -keep public class proguard.retrace.ReTrace { 52 public static void main(java.lang.String[]); 53 } 54 55 # If we have ant.jar, we can properly process the Ant task. 56 57 -keep,allowobfuscation class proguard.ant.* 58 -keepclassmembers public class proguard.ant.* { 59 <init>(org.apache.tools.ant.Project); 60 public void set*(***); 61 public void add*(***); 62 } 63 64 # If we have the Gradle jars, we can properly process the Gradle task. 65 66 -keep public class proguard.gradle.* { 67 public *; 68 } 69 70 # If we have kenv.zip, we can process the J2ME WTK plugin. 71 72 -keep public class proguard.wtk.ProGuardObfuscator 73