# Copyright (c) Meta Platforms, Inc. and affiliates. # # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. # 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 # Add any project specific keep options here: # Disabling obfuscation is useful if you collect stack traces from production crashes # (unless you are using a system that supports de-obfuscate the stack traces). # -dontobfuscate # React Native # Keep our interfaces so they can be used by other ProGuard rules. # See http://sourceforge.net/p/proguard/bugs/466/ -keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip -keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters # Do not strip any method/class that is annotated with @DoNotStrip -keep @com.facebook.proguard.annotations.DoNotStrip class * -keepclassmembers class * { @com.facebook.proguard.annotations.DoNotStrip *; } -keep @com.facebook.proguard.annotations.DoNotStripAny class * { *; } -keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * { void set*(***); *** get*(); } -keep class * implements com.facebook.react.bridge.JavaScriptModule { *; } -keep class * implements com.facebook.react.bridge.NativeModule { *; } -keepclassmembers,includedescriptorclasses class * { native ; } -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp ; } -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup ; } -dontwarn com.facebook.react.** -keep,includedescriptorclasses class com.facebook.react.bridge.** { *; } -keep,includedescriptorclasses class com.facebook.react.turbomodule.core.** { *; } # hermes -keep class com.facebook.jni.** { *; } # okio -keep class sun.misc.Unsafe { *; } -dontwarn java.nio.file.* -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement -dontwarn okio.** # yoga -keep,allowobfuscation @interface com.facebook.yoga.annotations.DoNotStrip -keep @com.facebook.yoga.annotations.DoNotStrip class * -keepclassmembers class * { @com.facebook.yoga.annotations.DoNotStrip *; } # WebRTC -keep class org.webrtc.** { *; } -dontwarn org.chromium.build.BuildHooksAndroid # Jisti Meet SDK -keep class org.jitsi.meet.** { *; } -keep class org.jitsi.meet.sdk.** { *; } # We added the following when we switched minifyEnabled on. Probably because we # ran the app and hit problems... -keep class com.facebook.react.bridge.CatalystInstanceImpl { *; } -keep class com.facebook.react.bridge.ExecutorToken { *; } -keep class com.facebook.react.bridge.JavaScriptExecutor { *; } -keep class com.facebook.react.bridge.ModuleRegistryHolder { *; } -keep class com.facebook.react.bridge.ReadableType { *; } -keep class com.facebook.react.bridge.queue.NativeRunnable { *; } -keep class com.facebook.react.devsupport.** { *; } -dontwarn com.facebook.react.devsupport.** -dontwarn com.google.appengine.** -dontwarn com.squareup.okhttp.** -dontwarn javax.servlet.** # ^^^ We added the above when we switched minifyEnabled on. # Rule to avoid build errors related to SVGs. -keep public class com.horcrux.svg.** {*;}