2023-01-11 18:31:20 +00:00
|
|
|
# Add project specific ProGuard rules here.
|
|
|
|
# You can control the set of applied configuration files using the
|
|
|
|
# proguardFiles setting in build.gradle.
|
|
|
|
#
|
|
|
|
# For more details, see
|
|
|
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
|
|
|
|
2023-08-02 01:49:30 +00:00
|
|
|
# preserve the line number information for debugging stack traces.
|
|
|
|
-dontobfuscate
|
|
|
|
-keepattributes LocalVariableTable
|
|
|
|
-keepattributes LocalVariableTypeTable
|
|
|
|
-keepattributes *Annotation*
|
|
|
|
-keepattributes SourceFile
|
|
|
|
-keepattributes LineNumberTable
|
|
|
|
-keepattributes Signature
|
|
|
|
-keepattributes Exceptions
|
2023-01-26 01:33:50 +00:00
|
|
|
-keepattributes InnerClasses
|
2023-08-02 01:49:30 +00:00
|
|
|
-keepattributes EnclosingMethod
|
|
|
|
-keepattributes MethodParameters
|
|
|
|
-keepparameternames
|
2023-01-26 01:33:50 +00:00
|
|
|
|
2023-08-02 01:49:30 +00:00
|
|
|
-keepdirectories libs
|
|
|
|
|
|
|
|
# Keep all names
|
|
|
|
-keepnames class ** { *; }
|
|
|
|
|
|
|
|
# Keep All enums
|
|
|
|
-keep enum ** { *; }
|
|
|
|
|
|
|
|
# preserve access to native classses
|
|
|
|
-keep class fr.acinq.secp256k1.** { *; }
|
2023-02-09 19:24:56 +00:00
|
|
|
|
2023-08-12 15:15:20 +00:00
|
|
|
# JNA For Libsodium
|
|
|
|
-keep class com.goterl.lazysodium.** { *; }
|
|
|
|
|
2024-02-14 22:48:57 +00:00
|
|
|
# libscrypt
|
|
|
|
-keep class com.lambdaworks.codec.** { *; }
|
|
|
|
-keep class com.lambdaworks.crypto.** { *; }
|
|
|
|
-keep class com.lambdaworks.jni.** { *; }
|
|
|
|
|
2023-08-12 15:15:20 +00:00
|
|
|
# JNA also requires AWT, which Android does not have. So the classes are broken down to filter AWT out
|
|
|
|
-keep class com.sun.jna.ToNativeConverter { *; }
|
|
|
|
-keep class com.sun.jna.NativeMapped { *; }
|
|
|
|
-keep class com.sun.jna.CallbackReference { *; }
|
|
|
|
-keep class com.sun.jna.ptr.IntByReference { *; }
|
|
|
|
-keep class com.sun.jna.NativeLong { *; }
|
|
|
|
-keep class com.sun.jna.Structure { *; }
|
|
|
|
-keep class com.sun.jna.Structure$* { *; }
|
|
|
|
-keep class com.sun.jna.Native$ffi_callback { *; }
|
|
|
|
-keep class * implements com.sun.jna.Structure$* { *; }
|
|
|
|
-keep class * implements com.sun.jna.Native$* { *; }
|
|
|
|
-keep class com.sun.jna.Native {
|
|
|
|
private static com.sun.jna.NativeMapped fromNative(java.lang.Class, java.lang.Object);
|
|
|
|
private static com.sun.jna.NativeMapped fromNative(java.lang.reflect.Method, java.lang.Object);
|
|
|
|
private static java.lang.Class nativeType(java.lang.Class);
|
|
|
|
private static java.lang.Object toNative(com.sun.jna.ToNativeConverter, java.lang.Object);
|
|
|
|
private static java.lang.Object fromNative(com.sun.jna.FromNativeConverter, java.lang.Object, java.lang.reflect.Method);
|
|
|
|
}
|
|
|
|
|
2023-08-17 14:23:00 +00:00
|
|
|
# JSON parsing
|
|
|
|
-keep class com.vitorpamplona.quartz.crypto.** { *; }
|
|
|
|
-keep class com.vitorpamplona.quartz.encoders.** { *; }
|
2023-08-16 21:58:25 +00:00
|
|
|
-keep class com.vitorpamplona.quartz.events.** { *; }
|
2023-01-21 03:54:39 +00:00
|
|
|
-keep class com.vitorpamplona.amethyst.model.** { *; }
|
2023-08-02 01:56:30 +00:00
|
|
|
-keep class com.vitorpamplona.amethyst.service.** { *; }
|