# ProGuard / R8 Rules for DripZone Native Kotlin App # Preserve model classes used for JSON serialization/deserialization -keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; !static !transient ; !private ; !private ; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve(); } # Keep DripZone Data Models -keep class co.dripzone.app.model.** { *; } -keepclassmembers class co.dripzone.app.model.** { *; } # Gson specific rules -keepattributes Signature -keepattributes *Annotation* -dontwarn sun.misc.** -keep class com.google.gson.** { *; } # OkHttp & Coroutines -dontwarn okhttp3.** -dontwarn okio.** -keep class okhttp3.** { *; } -keep interface okhttp3.** { *; } -dontwarn kotlinx.coroutines.** # Glide -keep public class * implements com.bumptech.glide.module.GlideModule -keep class * extends com.bumptech.glide.module.AppGlideModule { (...); } -keep public enum com.bumptech.glide.load.ImageHeaderParser$** { **[] $VALUES; public *; } # Android Security Crypto -keepnames class androidx.security.crypto.** { *; }