50 lines
2.7 KiB
Prolog
50 lines
2.7 KiB
Prolog
|
|
# ── Firebase ─────────────────────────────────────────────────────────────────
|
||
|
|
-keep class com.google.firebase.** { *; }
|
||
|
|
-keep class com.google.android.gms.** { *; }
|
||
|
|
-keepattributes Signature
|
||
|
|
|
||
|
|
# ── Hilt ─────────────────────────────────────────────────────────────────────
|
||
|
|
-keep class dagger.hilt.** { *; }
|
||
|
|
-keepclasseswithmembers class * {
|
||
|
|
@dagger.hilt.android.lifecycle.HiltViewModel <init>(...);
|
||
|
|
}
|
||
|
|
|
||
|
|
# ── Room ──────────────────────────────────────────────────────────────────────
|
||
|
|
-keep @androidx.room.Entity class * { *; }
|
||
|
|
-keep @androidx.room.Dao interface * { *; }
|
||
|
|
-keep @androidx.room.Database class * { *; }
|
||
|
|
|
||
|
|
# ── Domain models (used in Firestore manual mapping & local JSON) ─────────────
|
||
|
|
-keepclassmembers class app.closer.domain.model.** {
|
||
|
|
<fields>;
|
||
|
|
<init>(...);
|
||
|
|
}
|
||
|
|
|
||
|
|
# ── RevenueCat ────────────────────────────────────────────────────────────────
|
||
|
|
-keep class com.revenuecat.** { *; }
|
||
|
|
-dontwarn com.revenuecat.**
|
||
|
|
|
||
|
|
# ── Kotlin coroutines ────────────────────────────────────────────────────────
|
||
|
|
-keepclassmembernames class kotlinx.** {
|
||
|
|
volatile <fields>;
|
||
|
|
}
|
||
|
|
-dontwarn kotlinx.coroutines.**
|
||
|
|
|
||
|
|
# ── Crash reporting: preserve source file names and line numbers ─────────────
|
||
|
|
-keepattributes SourceFile,LineNumberTable
|
||
|
|
-keep public class * extends java.lang.Exception
|
||
|
|
-renamesourcefileattribute SourceFile
|
||
|
|
|
||
|
|
# ── Kotlin metadata (needed for reflection-free Kotlin code) ─────────────────
|
||
|
|
-keepattributes RuntimeVisibleAnnotations
|
||
|
|
-keepattributes RuntimeInvisibleAnnotations
|
||
|
|
-keepattributes *Annotation*
|
||
|
|
|
||
|
|
# ── Prevent stripping of BuildConfig ─────────────────────────────────────────
|
||
|
|
-keep class app.closer.BuildConfig { *; }
|
||
|
|
|
||
|
|
# ── Suppress warnings for optional dependencies ──────────────────────────────
|
||
|
|
-dontwarn org.conscrypt.**
|
||
|
|
-dontwarn org.bouncycastle.**
|
||
|
|
-dontwarn org.openjsse.**
|