From 747dbdb4e734f8692259e513df5ec734fd0d5a1a Mon Sep 17 00:00:00 2001 From: Brian Yencho Date: Tue, 19 Sep 2023 16:27:15 -0500 Subject: [PATCH] Add Proguard rules for JNA and the SDK (#55) --- app/proguard-rules.pro | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 90d74aaa7..c529cc74f 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -1,3 +1,11 @@ +################################################################################ +# Bitwarden SDK +################################################################################ + +# We need to access the SDK using JNA and this makes it very easy to obfuscate away the SDK unless +# we keep it here. +-keep class com.bitwarden.sdk.** { *; } + ################################################################################ # Firebase Crashlytics ################################################################################ @@ -39,6 +47,21 @@ -keep public class * implements com.bumptech.glide.module.GlideModule -keep public class * extends com.bumptech.glide.module.AppGlideModule +################################################################################ +# JNA +################################################################################ + +# See https://github.com/java-native-access/jna/blob/fdb8695fb9b05fba467dadfe5735282f8bcc053d/www/FrequentlyAskedQuestions.md#jna-on-android +-dontwarn java.awt.* +-keep class com.sun.jna.* { *; } +-keepclassmembers class * extends com.sun.jna.* { public *; } + +# Keep annotated classes +-keep @com.sun.jna.* class * +-keepclassmembers class * { + @com.sun.jna.* *; +} + ################################################################################ # Okhttp/Retrofit https://square.github.io/okhttp/ & https://square.github.io/retrofit/ ################################################################################