# This improves obfuscation and moves non-public classes to their own namespace. -repackageclasses 'cash.z.ecc.android.sdk.internal' # This makes it easier to autocomplete methods in an IDE using this obfuscated library. -keepparameternames # The ProGuard manual recommends keeping these attributes for libraries. -keepattributes EnclosingMethod,InnerClasses,Signature,Exceptions,*Annotation* # Ensure that stacktraces are reversible. -renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable # Keep the public interface of the library. -keep public class cash.z.ecc.android.sdk.internal.Backend { public protected *; } -keep public class cash.z.ecc.android.sdk.internal.Derivation { public protected *; } -keep public class cash.z.ecc.android.sdk.internal.jni.RustBackend { public protected *; } -keep public class cash.z.ecc.android.sdk.internal.model.* { public protected *; }