|
| 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 | + |
| 10 | +# Add any project specific keep options here: |
| 11 | + |
| 12 | +# If your project uses WebView with JS, uncomment the following |
| 13 | +# and specify the fully qualified class name to the JavaScript interface |
| 14 | +# class: |
| 15 | +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { |
| 16 | +# public *; |
| 17 | +#} |
| 18 | + |
| 19 | +# Disabling obfuscation is useful if you collect stack traces from production crashes |
| 20 | +# (unless you are using a system that supports de-obfuscate the stack traces). |
| 21 | +# -dontobfuscate |
| 22 | + |
| 23 | +# React Native |
| 24 | + |
| 25 | +# Keep our interfaces so they can be used by other ProGuard rules. |
| 26 | +# See http://sourceforge.net/p/proguard/bugs/466/ |
| 27 | +-keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip |
| 28 | +-keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters |
| 29 | +-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip |
| 30 | + |
| 31 | +# Do not strip any method/class that is annotated with @DoNotStrip |
| 32 | +-keep @com.facebook.proguard.annotations.DoNotStrip class * |
| 33 | +-keep @com.facebook.common.internal.DoNotStrip class * |
| 34 | +-keepclassmembers class * { |
| 35 | + @com.facebook.proguard.annotations.DoNotStrip *; |
| 36 | + @com.facebook.common.internal.DoNotStrip *; |
| 37 | +} |
| 38 | + |
| 39 | +-keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * { |
| 40 | + void set*(***); |
| 41 | + *** get*(); |
| 42 | +} |
| 43 | + |
| 44 | +-keep class * extends com.facebook.react.bridge.JavaScriptModule { *; } |
| 45 | +-keep class * extends com.facebook.react.bridge.NativeModule { *; } |
| 46 | +-keepclassmembers,includedescriptorclasses class * { native <methods>; } |
| 47 | +-keepclassmembers class * { @com.facebook.react.uimanager.UIProp <fields>; } |
| 48 | +-keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp <methods>; } |
| 49 | +-keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup <methods>; } |
| 50 | + |
| 51 | +-dontwarn com.facebook.react.** |
| 52 | +-keep,includedescriptorclasses class com.facebook.react.bridge.** { *; } |
| 53 | + |
| 54 | +# TextLayoutBuilder uses a non-public Android constructor within StaticLayout. |
| 55 | +# See libs/proxy/src/main/java/com/facebook/fbui/textlayoutbuilder/proxy for details. |
| 56 | +-dontwarn android.text.StaticLayout |
| 57 | + |
| 58 | +# okhttp |
| 59 | + |
| 60 | +-keepattributes Signature |
| 61 | +-keepattributes *Annotation* |
| 62 | +-keep class okhttp3.** { *; } |
| 63 | +-keep interface okhttp3.** { *; } |
| 64 | +-dontwarn okhttp3.** |
| 65 | + |
| 66 | +# okio |
| 67 | + |
| 68 | +-keep class sun.misc.Unsafe { *; } |
| 69 | +-dontwarn java.nio.file.* |
| 70 | +-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement |
| 71 | +-dontwarn okio.** |
| 72 | + |
| 73 | +# Fresco |
| 74 | +# Keep our interfaces so they can be used by other ProGuard rules. |
| 75 | +# See http://sourceforge.net/p/proguard/bugs/466/ |
| 76 | +-keep,allowobfuscation @interface com.facebook.soloader.DoNotOptimize |
| 77 | + |
| 78 | +# Do not strip any method/class that is annotated with @DoNotOptimize |
| 79 | +-keep @com.facebook.soloader.DoNotOptimize class * |
| 80 | +-keepclassmembers class * { |
| 81 | + @com.facebook.soloader.DoNotOptimize *; |
| 82 | +} |
| 83 | + |
| 84 | +# Keep native methods |
| 85 | +-keepclassmembers class * { |
| 86 | + native <methods>; |
| 87 | +} |
| 88 | + |
| 89 | +-dontwarn javax.annotation.** |
| 90 | +-dontwarn com.facebook.infer.** |
0 commit comments