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>
70 lines
2.1 KiB
Prolog
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.**
|