-injars in.jar -outjars out.jar -libraryjars 'C:\Program Files\Java\jre1.8.0_221\lib\rt.jar' -libraryjars lib -dontwarn org.slf4j.** -dontskipnonpubliclibraryclassmembers -dontshrink -optimizations !code/simplification/advanced,code/simplification/* -printmapping mapping.txt -obfuscationdictionary dictionary-members.txt -classobfuscationdictionary dictionary-classes.txt -useuniqueclassmembernames -flattenpackagehierarchy com.volmit.iris -repackageclasses com.volmit.iris -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod -adaptclassstrings -adaptresourcefilecontents **.properties,META-INF/MANIFEST.MF,**.yml -verbose -keepclassmembers,allowshrinking class com.volmit.iris.object.* { ; } # Also keep - Enumerations. Keep the special static methods that are required in # enumeration classes. -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } # Also keep - Database drivers. Keep all implementations of java.sql.Driver. -keep class * extends java.sql.Driver # Also keep - Swing UI L&F. Keep all extensions of javax.swing.plaf.ComponentUI, # along with the special 'createUI' method. -keep class * extends javax.swing.plaf.ComponentUI { public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent); } # Keep - Native method names. Keep all native class/method names. -keepclasseswithmembers,includedescriptorclasses,allowshrinking class * { native ; }