183 lines
6.0 KiB
Prolog
183 lines
6.0 KiB
Prolog
# 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.* <methods>;
|
|
}
|
|
|
|
# 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 <fields>;
|
|
}
|
|
# Keep annotations
|
|
-keepattributes *Annotation*
|
|
|
|
# Don't strip native method names (important for JNI)
|
|
-keepclasseswithmembers class * {
|
|
native <methods>;
|
|
}
|
|
|
|
# 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 <methods>; }
|
|
|
|
# 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 <methods>; }
|
|
-keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp <methods>; } |