-dontobfuscate #-optimizationpasses 3 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses # disable the -dontpreverify since it produces tons of warning when compiled using Android 14 and newer Build-tools #-dontpreverify -verbose # IntelliJ marks -android is invalid since the default inspection uses R8, we use Proguard exclusively and -android is available. -android # https://stackoverflow.com/a/32615580 -optimizations !code/simplification/*,!field/*,!class/merging/*,!code/allocation/variable,!library/gson,!class/unboxing/enum ## Uncomment the line below and set it to the location of rt.jar in JDK if the Proguard step fails to find the libraries ## and spits out a thousand-something Class Not Found errors ##-libraryjars /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar -libraryjars /jmods/java.base.jmod(!**.jar;!module-info.class) -libraryjars /jmods/java.datatransfer.jmod(!**.jar;!module-info.class) -libraryjars /jmods/java.prefs.jmod(!**.jar;!module-info.class) -libraryjars /jmods/java.xml.jmod(!**.jar;!module-info.class) -libraryjars /jmods/java.desktop.jmod(!**.jar;!module-info.class) -libraryjars /jmods/jdk.xml.dom.jmod(!**.jar;!module-info.class) -dontwarn afu.org.checkerframework.** -dontwarn io.netty.** -dontwarn org.eclipse.jetty.** -dontwarn com.thoughtworks.xstream.** -dontwarn com.badlogic.gdx.** -dontwarn org.apache.commons.** -dontwarn org.apache.http.** -dontwarn com.google.guava.** -dontwarn com.google.common.** -dontwarn com.google.gson.** -dontwarn org.checkerframework.** -dontwarn org.xmlpull.** -dontwarn org.apache.log4j.** -dontwarn org.fourthline.cling.** -dontwarn org.seamless.http.** -dontwarn org.seamless.xhtml.** -dontwarn org.seamless.xml.** -dontwarn org.seamless.util.** -dontwarn org.seamless.swing.** -dontwarn java.lang.management.** -dontwarn java.awt.** -dontwarn java.util.** -dontwarn java.lang.** -dontwarn java.net.** -dontwarn java.nio.** -dontwarn java.io.** -dontwarn org.slf4j.** -dontwarn ch.qos.logback.** -dontwarn javax.** -dontwarn org.apache.logging.log4j.** -dontwarn module-info -dontwarn io.sentry.logback.* -dontwarn io.sentry.** -dontwarn net.jpountz.** ## Support library -dontwarn android.** -dontwarn androidx.** -dontwarn forge.** -keep class forge.** { *; } -keep class com.thoughtworks.xstream.** { *; } -keep class org.apache.commons.lang3.** { *; } -keep class com.google.guava.** { *; } -keep class com.google.common.** { *; } ##-keep class com.google.gson.GsonBuilder ##-keep class io.sentry.event.Event { *; } ##-keep class io.sentry.android.core.SentryAndroidOptions ##-keep class io.sentry.android.core.SentryAndroid ##-keep class io.sentry.android.core.SentryInitProvider ##-keep class io.sentry.android.core.SentryPerformanceProvider -keep class com.badlogic.gdx.controllers.android.AndroidControllers { *; } -keep class com.github.tommyettinger.textra.** { *; } ##-keep class io.sentry.android.ndk.SentryNdk ##-keep class io.sentry.Sentry -keep class io.sentry.** { *; } -keepclassmembers enum io.sentry.** { *; } -keep class io.netty.util.internal.logging.** { *; } -keep class net.jpountz.** { *; } -keep class com.ray3k.** { *; } -keepclassmembers class com.badlogic.gdx.backends.android.AndroidInput* { (com.badlogic.gdx.Application, android.content.Context, java.lang.Object, com.badlogic.gdx.backends.android.AndroidApplicationConfiguration); } -keepclassmembers class com.badlogic.gdx.physics.box2d.World { boolean contactFilter(long, long); void beginContact(long); void endContact(long); void preSolve(long, long); void postSolve(long, long); boolean reportFixture(long); float reportRayFixture(long, float, float, float, float, float); } -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference # ILicensingService is not available on robolectric dependency #-keep public class com.android.vending.licensing.ILicensingService -keep public class * extends com.badlogic.gdx.Application -keepclasseswithmembernames,includedescriptorclasses class * { native ; } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } -keepattributes *Annotation*,EnclosingMethod,InnerClasses,LineNumberTable,Signature,SourceFile