66 lines
2.9 KiB
Prolog
66 lines
2.9 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.siro_map.siro_maps.car.** { *; }
|
|
-keepclassmembers class com.siro_map.siro_maps.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 { *; }
|