-
Notifications
You must be signed in to change notification settings - Fork 273
Expand file tree
/
Copy pathproguard-rules.pro
More file actions
75 lines (61 loc) · 2.34 KB
/
Copy pathproguard-rules.pro
File metadata and controls
75 lines (61 loc) · 2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# TeachLink Android ProGuard / R8 keep rules
# Issue: #239 — RN, Expo, Zustand (JS), Axios (OkHttp), and third-party native modules
# --- React Native core ---
-keep class com.facebook.react.** { *; }
-keep class com.facebook.hermes.** { *; }
-keep class com.facebook.jni.** { *; }
-keep class com.facebook.yoga.** { *; }
-keep class com.facebook.soloader.** { *; }
-dontwarn com.facebook.react.**
-dontwarn com.facebook.hermes.**
-dontwarn com.facebook.yoga.**
# --- Expo modules ---
-keep class expo.modules.** { *; }
-dontwarn expo.modules.**
# --- React Native Reanimated ---
-keep class com.swmansion.reanimated.** { *; }
-dontwarn com.swmansion.reanimated.**
# --- React Native Gesture Handler ---
-keep class com.swmansion.gesturehandler.** { *; }
-dontwarn com.swmansion.gesturehandler.**
# --- React Native Screens ---
-keep class com.swmansion.rnscreens.** { *; }
-dontwarn com.swmansion.rnscreens.**
# --- Safe Area Context ---
-keep class com.th3rdwave.safeareacontext.** { *; }
-dontwarn com.th3rdwave.safeareacontext.**
# --- React Native Community packages ---
-keep class com.reactnativecommunity.** { *; }
-dontwarn com.reactnativecommunity.**
# --- Axios / OkHttp / Okio (native networking layer used by RN) ---
-keep class okhttp3.** { *; }
-keep class okio.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn javax.annotation.**
-dontwarn org.conscrypt.**
# --- Sentry crash reporting ---
-keep class io.sentry.** { *; }
-dontwarn io.sentry.**
# --- React Native IAP ---
-keep class com.dooboolab.** { *; }
-keep class com.android.vending.billing.** { *; }
-dontwarn com.dooboolab.**
# --- Async Storage ---
-keep class com.reactnativecommunity.asyncstorage.** { *; }
-dontwarn com.reactnativecommunity.asyncstorage.**
# --- SVG ---
-keep class com.horcrux.svg.** { *; }
-dontwarn com.horcrux.svg.**
# --- General serialization / reflection (common RN crash source) ---
-keepattributes *Annotation*
-keepattributes Signature
-keepattributes InnerClasses
-keepattributes EnclosingMethod
-keepclassmembers class * {
@com.facebook.react.uimanager.annotations.ReactProp <methods>;
@com.facebook.react.uimanager.annotations.ReactPropGroup <methods>;
}
# Zustand and Axios are JavaScript-only libraries; R8 does not strip JS bundles.
# Hermes bytecode is handled separately by Metro bundler minification in production.