diff --git a/proguard-rules-consumer-jna.pro b/proguard-rules-consumer-jna.pro index 444bdc2749..2a3934c837 100644 --- a/proguard-rules-consumer-jna.pro +++ b/proguard-rules-consumer-jna.pro @@ -4,4 +4,12 @@ # See https://github.com/java-native-access/jna/blob/master/www/FrequentlyAskedQuestions.md#jna-on-android -dontwarn java.awt.* -keep class com.sun.jna.* { *; } --keepclassmembers class * extends com.sun.jna.* { public *; } \ No newline at end of file +-keep class * extends com.sun.jna.* { *; } +-keepclassmembers class * extends com.sun.jna.* { public *; } + +#################################################################################################### +# Add explicit keep rules for Nimbus RustBuffer and related structs to avoid +# overly-aggressive optimization when R8 fullMode is enabled, leading to crashes. +#################################################################################################### +-keepattributes RuntimeVisibleAnnotations,RuntimeInvisibleAnnotations,RuntimeVisibleTypeAnnotations,RuntimeInvisibleTypeAnnotations,AnnotationDefault,InnerClasses,EnclosingMethod,Signature +-keep class org.mozilla.experiments.nimbus.internal.** { *; }