1# Add project specific ProGuard rules here. 2# By default, the flags in this file are appended to flags specified 3# in /Users/ide/Library/Android/sdk/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 20# THIS IS VERY VERY BAD. REMOVE AS SOON AS VERSIONING IS FIXED 21-dontwarn ** 22 23 24-dontnote ** 25 26-keep class host.exp.exponent.generated.AppConstants { *; } 27 28##### Crashlytics ##### 29-keepattributes SourceFile,LineNumberTable 30 31##### Expo Universal Modules ##### 32 33-keepclassmembers class * { 34 @expo.core.interfaces.ExpoProp *; 35} 36-keepclassmembers class * { 37 @expo.core.interfaces.ExpoMethod *; 38} 39 40-keepclassmembers class * { 41 @**.expo.core.interfaces.ExpoProp *; 42} 43-keepclassmembers class * { 44 @**.expo.core.interfaces.ExpoMethod *; 45} 46 47##### React Native ##### 48-keep,allowobfuscation @interface **.facebook.proguard.annotations.DoNotStrip 49-keep,allowobfuscation @interface **.facebook.proguard.annotations.KeepGettersAndSetters 50-keep,allowobfuscation @interface **.facebook.react.bridge.ReadableType 51 52# Do not strip any method/class that is annotated with @DoNotStrip 53-keep @**.facebook.proguard.annotations.DoNotStrip class * 54-keepclassmembers class * { 55 @**.facebook.proguard.annotations.DoNotStrip *; 56} 57 58-keepclassmembers @**.facebook.proguard.annotations.KeepGettersAndSetters class * { 59 void set*(***); 60 *** get*(); 61} 62 63-keep class * extends **.facebook.react.bridge.JavaScriptModule { *; } 64-keep class * extends **.facebook.react.bridge.NativeModule { *; } 65-keepclassmembers class * { @**.facebook.react.uimanager.UIProp <fields>; } 66-keepclassmembers class * { @**.facebook.react.uimanager.ReactProp <methods>; } 67-keepclassmembers class * { @**.facebook.react.uimanager.ReactPropGroup <methods>; } 68 69# TODO: shouldn't need these two rules 70-keep interface **.facebook.react.bridge.** { *; } 71-keep enum **.facebook.react.bridge.** { *; } 72 73##### Versioned React Native ##### 74-keep class **.facebook.** { *; } 75-keep class abi** { *; } 76-keep class versioned** { *; } 77-keep class expo.modules** { *; } 78 79##### Butterknife ##### 80-keep class butterknife.** { *; } 81-dontwarn butterknife.internal.** 82-keep class **$$ViewBinder { *; } 83 84-keepclasseswithmembernames class * { 85 @butterknife.* <fields>; 86} 87 88-keepclasseswithmembernames class * { 89 @butterknife.* <methods>; 90} 91 92##### Stetho ##### 93-keep class **.facebook.stetho.** { *; } 94-dontwarn **.facebook.stetho.** 95 96##### fresco ##### 97# Keep our interfaces so they can be used by other ProGuard rules. 98# See http://sourceforge.net/p/proguard/bugs/466/ 99-keep,allowobfuscation @interface **.facebook.common.internal.DoNotStrip 100 101# Do not strip any method/class that is annotated with @DoNotStrip 102-keep @**.facebook.common.internal.DoNotStrip class * 103-keepclassmembers class * { 104 @**.facebook.common.internal.DoNotStrip *; 105} 106 107# Keep native methods 108-keepclassmembers class * { 109 native <methods>; 110} 111 112-dontwarn okio.** 113-dontwarn javax.annotation.** 114-dontwarn com.android.volley.toolbox.** 115 116##### okhttp ##### 117-keepattributes Signature 118-keepattributes *Annotation* 119-keep class com.squareup.okhttp.** { *; } 120-keep interface com.squareup.okhttp.** { *; } 121# This is also needed by Picasso 122-dontwarn com.squareup.okhttp.** 123 124-keep class okhttp3.** { *; } 125-keep interface okhttp3.** { *; } 126# This is also needed by Picasso 127-dontwarn okhttp3.** 128 129##### okio ##### 130-keep class sun.misc.Unsafe { *; } 131-dontwarn java.nio.file.* 132-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 133-dontwarn okio.** 134 135##### EventBus ##### 136-keepclassmembers class ** { 137 public void onEvent*(***); 138} 139 140# Only required if you use AsyncExecutor 141-keepclassmembers class * extends de.greenrobot.event.util.ThrowableFailureEvent { 142 <init>(java.lang.Throwable); 143} 144 145##### Amplitude ##### 146-keep class com.amplitude.api.** {*;} 147 148##### DBFlow ##### 149-keep class com.raizlabs.android.dbflow.config.GeneratedDatabaseHolder 150 151##### SpongyCastle ##### 152-keep class org.spongycastle.** 153-dontwarn org.spongycastle.jce.provider.X509LDAPCertStoreSpi 154-dontwarn org.spongycastle.x509.util.LDAPStoreHelper 155