# Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the proguardFiles # directive in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # Keep MainApplication class to prevent crashes -keep class com.project.yondu.unioilloyaltyapp.MainApplication { *; } -keep class com.facebook.react.ReactNativeHost { *; } # Add any project specific keep options here: -keep class com.facebook.react.turbomodule.** { *; } # Keep React Native core classes -keep class com.facebook.react.** { *; } -keep class com.facebook.jni.** { *; } # Additional rules for React Native 0.72.5 -keep class com.facebook.react.turbomodule.core.** { *; } -keep class com.facebook.react.bridgeless.** { *; } -keep class com.facebook.react.runtime.** { *; } -keep class com.facebook.react.defaults.** { *; } -keep class com.facebook.react.reactnativejni.** { *; } # Keep SSL Certificate Pinning -keep class okhttp3.CertificatePinner { *; } -keep class okhttp3.CertificatePinner$* { *; } -keep class okhttp3.internal.tls.** { *; } -keep class okhttp3.internal.connection.** { *; } -keep class okhttp3.internal.http.** { *; } -keep class okhttp3.internal.platform.** { *; } # Keep OkHttp classes - Enhanced for newer versions -keepattributes Signature -keepattributes *Annotation* -keep class okhttp3.** { *; } -keep interface okhttp3.** { *; } -dontwarn okhttp3.** -dontwarn okio.** -dontwarn javax.annotation.** -dontwarn org.conscrypt.** -dontwarn org.bouncycastle.** -dontwarn org.openjsse.** # Keep Retrofit classes -keep class retrofit2.** { *; } -keepattributes Exceptions -dontwarn retrofit2.** -keepclasseswithmembers class * { @retrofit2.http.* ; } # Keep Gson (if used) -keep class com.google.gson.** { *; } -keep class * implements com.google.gson.TypeAdapterFactory -keep class * implements com.google.gson.JsonSerializer -keep class * implements com.google.gson.JsonDeserializer -dontwarn com.google.gson.** # Keep Jackson (if used) -keep class com.fasterxml.jackson.** { *; } -dontwarn com.fasterxml.jackson.** # Keep Moshi (if used) -keep class com.squareup.moshi.** { *; } -dontwarn com.squareup.moshi.** # For Native Stack - React Navigation -keep class com.swmansion.** { *; } -dontwarn com.swmansion.** # Keep ReactNative Gesture Handler -keep class com.swmansion.gesturehandler.** { *; } -dontwarn com.swmansion.gesturehandler.** # Keep Reanimated (if used) -keep class com.swmansion.reanimated.** { *; } -dontwarn com.swmansion.reanimated.** # Keep React Native async storage (if used) -keep class com.reactnativecommunity.asyncstorage.** { *; } -dontwarn com.reactnativecommunity.asyncstorage.** # Keep JSON serialization classes -keepclassmembers class * { @com.google.gson.annotations.SerializedName ; } # Keep annotations -keepattributes *Annotation* # Don't strip native method names (important for JNI) -keepclasseswithmembers class * { native ; } # Keep SSL classes -keep class javax.net.ssl.** { *; } -keep class org.apache.http.** { *; } -dontwarn javax.net.ssl.** -dontwarn org.apache.http.** # Keep all @Keep annotated classes -keep @androidx.annotation.Keep class * { *; } # Keep all Parcelable implementations -keep class * implements android.os.Parcelable { *; } -keep class * implements java.io.Serializable { *; } # Prevent issues with reflection (used by some libraries) -keepattributes InnerClasses -keepattributes *Annotation* -keep class **.R$* { *; } -keep class **.BuildConfig { *; } # Keep WorkManager and background processing -keep class androidx.work.** { *; } -dontwarn androidx.work.** # Keep for Firebase (if used) -keep class com.google.firebase.** { *; } -dontwarn com.google.firebase.** -keep class com.google.android.gms.** { *; } -dontwarn com.google.android.gms.** # Keep native base (if using) -dontwarn com.nativebase.** # Prevent stripping React Native network modules -keep class com.facebook.react.modules.network.** { *; } -keep class com.facebook.react.modules.websocket.** { *; } -keep class com.facebook.react.modules.core.** { *; } -keep class com.facebook.react.modules.fresco.** { *; } -keep class com.facebook.react.modules.i18nmanager.** { *; } -keep class com.facebook.react.modules.blob.** { *; } -keep class com.facebook.react.modules.systeminfo.** { *; } -keep class com.facebook.react.animated.** { *; } # Additional rules for React Native 0.72.5 # React Native's New Architecture -keep class com.facebook.react.fabric.** { *; } -keep class com.facebook.react.bridgeless.** { *; } # For React Native JSI -keep class com.facebook.jsi.** { *; } -keep class com.facebook.react.jscexecutor.** { *; } # Hermes -keep class com.facebook.hermes.** { *; } -keep class com.facebook.hermes.unicode.** { *; } # Keep Yoga layout engine -keep class com.facebook.yoga.** { *; } # Keep for React Native 0.72.5 internal classes -keep class com.facebook.react.internal.** { *; } -keep class com.facebook.react.packagerconnection.** { *; } # Keep for networking exceptions and debug -keep class com.facebook.react.networking.** { *; } # Keep for WebView JS bridge -keepattributes JavascriptInterface -keep class * extends com.facebook.react.bridge.JavaScriptModule { *; } -keep class * extends com.facebook.react.bridge.NativeModule { *; } -keepclassmembers,includedescriptorclasses class * { native ; } # Keep for runtime type checking -keepattributes RuntimeVisible*Annotations -keepattributes EnclosingMethod # Keep React Native JS modules -keep class com.facebook.react.bridge.** { *; } -keep class com.facebook.react.uimanager.** { *; } -keep class com.facebook.react.views.** { *; } -keep class com.facebook.react.devsupport.** { *; } # Keep for NativeModules that communicate with JS -keepclassmembers class * { @com.facebook.react.bridge.ReactMethod ; } -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp ; }