Files
intono/app/proguard-rules.pro
lucianoandClaude Fable 5 cf795e33d8 fix(release): regole dontwarn per le annotazioni di Tink
R8 falliva su assembleRelease per le annotazioni compile-only
(errorprone, javax.annotation) riferite da Google Tink, dipendenza
transitiva di androidx.security:security-crypto.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 11:03:22 +02:00

70 lines
2.1 KiB
Prolog

# ProGuard rules for InTono (NoteMusicali)
# --- Kotlin ---
-keepattributes *Annotation*
-keepattributes Signature
-keepattributes InnerClasses
-keepattributes EnclosingMethod
-keep class kotlin.Metadata { *; }
-dontwarn kotlin.**
# --- Kotlin Serialization ---
-keepattributes RuntimeVisibleAnnotations
-keep class kotlinx.serialization.** { *; }
-keepclassmembers class * {
@kotlinx.serialization.Serializable <fields>;
}
-keepclassmembers @kotlinx.serialization.Serializable class * {
*** Companion;
*** serializer(...);
kotlinx.serialization.KSerializer serializer(...);
}
-keepclasseswithmembers class * {
kotlinx.serialization.KSerializer serializer(...);
}
# --- Ktor ---
-keep class io.ktor.** { *; }
-dontwarn io.ktor.**
-keep class io.ktor.client.engine.** { *; }
-keepclassmembers class io.ktor.** { volatile <fields>; }
# --- Coroutines ---
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
-keepclassmembers class kotlinx.coroutines.** { volatile <fields>; }
-dontwarn kotlinx.coroutines.**
# --- Compose ---
-keep class androidx.compose.** { *; }
-dontwarn androidx.compose.**
# --- Multiplatform Settings ---
-keep class com.russhwolf.settings.** { *; }
# --- App classes ---
-keep class com.notemusicali.** { *; }
# --- CameraX ---
-keep class androidx.camera.** { *; }
-dontwarn androidx.camera.**
# --- Standard Android ---
-keepclassmembers class * implements android.os.Parcelable {
public static final ** CREATOR;
}
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
!static !transient <fields>;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
# Annotazioni solo-compile riferite da Google Tink (via androidx.security:security-crypto):
# assenti a runtime per design, R8 non deve considerarle un errore
-dontwarn com.google.errorprone.annotations.**
-dontwarn javax.annotation.**