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##### React Native ##### 32-keep,allowobfuscation @interface **.facebook.proguard.annotations.DoNotStrip 33-keep,allowobfuscation @interface **.facebook.proguard.annotations.KeepGettersAndSetters 34-keep,allowobfuscation @interface **.facebook.react.bridge.ReadableType 35 36# Do not strip any method/class that is annotated with @DoNotStrip 37-keep @**.facebook.proguard.annotations.DoNotStrip class * 38-keepclassmembers class * { 39 @**.facebook.proguard.annotations.DoNotStrip *; 40} 41 42-keepclassmembers @**.facebook.proguard.annotations.KeepGettersAndSetters class * { 43 void set*(***); 44 *** get*(); 45} 46 47-keep class * extends **.facebook.react.bridge.JavaScriptModule { *; } 48-keep class * extends **.facebook.react.bridge.NativeModule { *; } 49-keepclassmembers class * { @**.facebook.react.uimanager.UIProp <fields>; } 50-keepclassmembers class * { @**.facebook.react.uimanager.ReactProp <methods>; } 51-keepclassmembers class * { @**.facebook.react.uimanager.ReactPropGroup <methods>; } 52 53# TODO: shouldn't need these two rules 54-keep interface **.facebook.react.bridge.** { *; } 55-keep enum **.facebook.react.bridge.** { *; } 56 57##### Versioned React Native ##### 58-keep class **.facebook.** { *; } 59-keep class abi** { *; } 60-keep class versioned** { *; } 61 62##### Butterknife ##### 63-keep class butterknife.** { *; } 64-dontwarn butterknife.internal.** 65-keep class **$$ViewBinder { *; } 66 67-keepclasseswithmembernames class * { 68 @butterknife.* <fields>; 69} 70 71-keepclasseswithmembernames class * { 72 @butterknife.* <methods>; 73} 74 75##### Stetho ##### 76-keep class **.facebook.stetho.** { *; } 77-dontwarn **.facebook.stetho.** 78 79##### fresco ##### 80# Keep our interfaces so they can be used by other ProGuard rules. 81# See http://sourceforge.net/p/proguard/bugs/466/ 82-keep,allowobfuscation @interface **.facebook.common.internal.DoNotStrip 83 84# Do not strip any method/class that is annotated with @DoNotStrip 85-keep @**.facebook.common.internal.DoNotStrip class * 86-keepclassmembers class * { 87 @**.facebook.common.internal.DoNotStrip *; 88} 89 90# Keep native methods 91-keepclassmembers class * { 92 native <methods>; 93} 94 95-dontwarn okio.** 96-dontwarn javax.annotation.** 97-dontwarn com.android.volley.toolbox.** 98 99##### okhttp ##### 100-keepattributes Signature 101-keepattributes *Annotation* 102-keep class com.squareup.okhttp.** { *; } 103-keep interface com.squareup.okhttp.** { *; } 104# This is also needed by Picasso 105-dontwarn com.squareup.okhttp.** 106 107-keep class okhttp3.** { *; } 108-keep interface okhttp3.** { *; } 109# This is also needed by Picasso 110-dontwarn okhttp3.** 111 112##### okio ##### 113-keep class sun.misc.Unsafe { *; } 114-dontwarn java.nio.file.* 115-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 116-dontwarn okio.** 117 118##### EventBus ##### 119-keepclassmembers class ** { 120 public void onEvent*(***); 121} 122 123# Only required if you use AsyncExecutor 124-keepclassmembers class * extends de.greenrobot.event.util.ThrowableFailureEvent { 125 <init>(java.lang.Throwable); 126} 127 128##### Amplitude ##### 129-keep class com.amplitude.api.** {*;} 130 131##### DBFlow ##### 132-keep class com.raizlabs.android.dbflow.config.GeneratedDatabaseHolder 133 134##### SpongyCastle ##### 135-keep class org.spongycastle.** 136-dontwarn org.spongycastle.jce.provider.X509LDAPCertStoreSpi 137-dontwarn org.spongycastle.x509.util.LDAPStoreHelper 138