You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

proguard-rules.pro 3.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. # Add project specific ProGuard rules here.
  2. # By default, the flags in this file are appended to flags specified
  3. # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
  4. # You can edit the include path and order by changing the proguardFiles
  5. # directive in build.gradle.
  6. #
  7. # For more details, see
  8. # http://developer.android.com/guide/developing/tools/proguard.html
  9. # Add any project specific keep options here:
  10. # If your project uses WebView with JS, uncomment the following
  11. # and specify the fully qualified class name to the JavaScript interface
  12. # class:
  13. #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
  14. # public *;
  15. #}
  16. # React Native
  17. # Keep our interfaces so they can be used by other ProGuard rules.
  18. # See http://sourceforge.net/p/proguard/bugs/466/
  19. -keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip
  20. -keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters
  21. -keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
  22. # Do not strip any method/class that is annotated with @DoNotStrip
  23. -keep @com.facebook.proguard.annotations.DoNotStrip class *
  24. -keep @com.facebook.common.internal.DoNotStrip class *
  25. -keepclassmembers class * {
  26. @com.facebook.proguard.annotations.DoNotStrip *;
  27. @com.facebook.common.internal.DoNotStrip *;
  28. }
  29. -keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * {
  30. void set*(***);
  31. *** get*();
  32. }
  33. -keep class * extends com.facebook.react.bridge.JavaScriptModule { *; }
  34. -keep class * extends com.facebook.react.bridge.NativeModule { *; }
  35. -keepclassmembers,includedescriptorclasses class * { native <methods>; }
  36. -keepclassmembers class * { @com.facebook.react.uimanager.UIProp <fields>; }
  37. -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp <methods>; }
  38. -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup <methods>; }
  39. -dontwarn com.facebook.react.**
  40. -keep,includedescriptorclasses class com.facebook.react.bridge.** { *; }
  41. # okhttp
  42. -keepattributes Signature
  43. -keepattributes *Annotation*
  44. -keep class okhttp3.** { *; }
  45. -keep interface okhttp3.** { *; }
  46. -dontwarn okhttp3.**
  47. # okio
  48. -keep class sun.misc.Unsafe { *; }
  49. -dontwarn java.nio.file.*
  50. -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
  51. -dontwarn okio.**
  52. # WebRTC
  53. -keep class org.webrtc.** { *; }
  54. -dontwarn org.chromium.build.BuildHooksAndroid
  55. # Jisti Meet SDK
  56. -keep class org.jitsi.meet.** { *; }
  57. -keep class org.jitsi.meet.sdk.** { *; }
  58. # We added the following when we switched minifyEnabled on. Probably because we
  59. # ran the app and hit problems...
  60. -keep class com.facebook.react.bridge.CatalystInstanceImpl { *; }
  61. -keep class com.facebook.react.bridge.ExecutorToken { *; }
  62. -keep class com.facebook.react.bridge.JavaScriptExecutor { *; }
  63. -keep class com.facebook.react.bridge.ModuleRegistryHolder { *; }
  64. -keep class com.facebook.react.bridge.ReadableType { *; }
  65. -keep class com.facebook.react.bridge.queue.NativeRunnable { *; }
  66. -keep class com.facebook.react.devsupport.** { *; }
  67. -dontwarn com.facebook.react.devsupport.**
  68. -dontwarn com.google.appengine.**
  69. -dontwarn com.squareup.okhttp.**
  70. -dontwarn javax.servlet.**
  71. # ^^^ We added the above when we switched minifyEnabled on.