62 lines
2.1 KiB
Prolog
62 lines
2.1 KiB
Prolog
# --- SCAN-WICH SECURITY RULES ---
|
|
|
|
# Optimisations agressives
|
|
-optimizationpasses 5
|
|
-allowaccessmodification
|
|
-mergeinterfacesaggressively
|
|
|
|
# Supprimer les informations de débogage
|
|
-renamesourcefileattribute SourceFile
|
|
-keepattributes SourceFile,LineNumberTable
|
|
|
|
# Offusquer plus profondément
|
|
-repackageclasses ''
|
|
|
|
# --- FIREBASE / GOOGLE ---
|
|
# Les bibliothèques Google fournissent leurs propres règles optimisées.
|
|
-dontwarn com.google.firebase.**
|
|
-dontwarn com.google.android.gms.**
|
|
-dontwarn com.google.errorprone.annotations.**
|
|
|
|
# --- ITEXT ---
|
|
# On cible plus précisément les packages iText utilisés pour le rapport PDF
|
|
-dontwarn com.itextpdf.**
|
|
-keep class com.itextpdf.kernel.** { public protected *; }
|
|
-keep class com.itextpdf.layout.** { public protected *; }
|
|
-keep class com.itextpdf.io.** { public protected *; }
|
|
|
|
# --- RETROFIT / OKHTTP ---
|
|
-keepattributes Signature, InnerClasses, EnclosingMethod
|
|
-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations
|
|
|
|
# Garder uniquement les annotations Retrofit
|
|
-keep @interface retrofit2.http.*
|
|
-dontwarn retrofit2.**
|
|
# Note: On laisse Retrofit gérer ses propres règles internes (incluses dans l'AAR)
|
|
|
|
# --- ROOM ---
|
|
# On ne garde que les classes liées à la base de données
|
|
-keep class * extends androidx.room.RoomDatabase
|
|
-dontwarn androidx.room.paging.**
|
|
|
|
# --- DATA MODELS ---
|
|
# Crucial : On garde tout ce qui est nécessaire au parsing JSON et à Room
|
|
-keepclassmembers class com.example.scanwich.** {
|
|
@com.google.gson.annotations.SerializedName <fields>;
|
|
@androidx.room.PrimaryKey <fields>;
|
|
}
|
|
|
|
-keep @androidx.room.Entity class com.example.scanwich.** { *; }
|
|
|
|
# On liste explicitement les modèles pour plus de précision
|
|
-keep class com.example.scanwich.Meal { *; }
|
|
-keep class com.example.scanwich.SportActivity { *; }
|
|
-keep class com.example.scanwich.Glycemia { *; }
|
|
-keep class com.example.scanwich.FavoriteMeal { *; }
|
|
-keep class com.example.scanwich.N8nMealRequest { *; }
|
|
-keep class com.example.scanwich.StravaActivity { *; }
|
|
-keep class com.example.scanwich.StravaTokenResponse { *; }
|
|
|
|
# --- CONFIGURATION ---
|
|
-keep class com.example.scanwich.BuildConfig { *; }
|