Files
maps-saas/apps/siro_maps/android/app/proguard-rules.pro
T

66 lines
2.8 KiB
Prolog

# ==============================================================================
# Siro Maps (map-saas) ProGuard & R8 Optimization Rules
# ==============================================================================
# ── 1. FLUTTER EMBEDDING & NATIVE CHANNELS ────────────────────────────────────
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
-keepattributes Signature
-keepattributes InnerClasses,EnclosingMethod
# Keep native methods used by Flutter engine
-keepclasseswithmembers class * {
native <methods>;
}
# ── 2. ANDROID AUTO (CAR APP LIBRARY) ─────────────────────────────────────────
-keep class androidx.car.app.** { *; }
-keep interface androidx.car.app.** { *; }
-keep class androidx.car.app.model.** { *; }
-keep class androidx.car.app.navigation.** { *; }
-keep class androidx.car.app.navigation.model.** { *; }
-keep class androidx.car.app.validation.** { *; }
# Keep our custom CarAppService, Session, Screen and State models
-keep class com.urukmap.app.car.** { *; }
-keepclassmembers class com.urukmap.app.car.** { *; }
-dontwarn androidx.car.app.**
# ── 3. MAPLIBRE GL NATIVE & RENDERING ENGINE ──────────────────────────────────
-keep class org.maplibre.** { *; }
-keep interface org.maplibre.** { *; }
-keep class org.maplibre.android.** { *; }
-keep interface org.maplibre.android.** { *; }
-keep class org.maplibre.android.maps.** { *; }
-keep class org.maplibre.android.geometry.** { *; }
-keep class org.maplibre.android.style.** { *; }
-dontwarn org.maplibre.**
-dontwarn org.maplibre.android.**
# ── 4. SHRED PREFERENCES & DATA MODELS ────────────────────────────────────────
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
!static !transient <fields>;
!private <fields>;
!private <methods>;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
# ── 5. KOTLIN & COROUTINES ────────────────────────────────────────────────────
-dontwarn kotlin.**
-dontwarn kotlinx.coroutines.**
-keep class kotlin.Metadata { *; }