65 lines
1.9 KiB
Prolog
65 lines
1.9 KiB
Prolog
# Add project specific ProGuard rules here.
|
|
# You can control the set of applied configuration files using the
|
|
# proguardFiles setting in build.gradle.
|
|
#
|
|
# For more details, see
|
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
|
|
|
# Preserve line number information for debugging stack traces
|
|
-keepattributes SourceFile,LineNumberTable
|
|
|
|
# Hide the original source file name
|
|
-renamesourcefileattribute SourceFile
|
|
|
|
# Keep generic signatures for Kotlin
|
|
-keepattributes Signature
|
|
|
|
# Keep annotations
|
|
-keepattributes *Annotation*
|
|
|
|
# Room Database
|
|
-keep class * extends androidx.room.RoomDatabase
|
|
-keep @androidx.room.Entity class *
|
|
-keepclassmembers class * {
|
|
@androidx.room.* <fields>;
|
|
@androidx.room.* <methods>;
|
|
}
|
|
|
|
# Kotlinx Serialization
|
|
-keepattributes *Annotation*, InnerClasses
|
|
-dontnote kotlinx.serialization.AnnotationsKt
|
|
|
|
-keepclassmembers class kotlinx.serialization.json.** {
|
|
*** Companion;
|
|
}
|
|
-keepclasseswithmembers class kotlinx.serialization.json.** {
|
|
kotlinx.serialization.KSerializer serializer(...);
|
|
}
|
|
|
|
-keep,includedescriptorclasses class com.atridad.ascently.**$$serializer { *; }
|
|
-keepclassmembers class com.atridad.ascently.** {
|
|
*** Companion;
|
|
}
|
|
-keepclasseswithmembers class com.atridad.ascently.** {
|
|
kotlinx.serialization.KSerializer serializer(...);
|
|
}
|
|
|
|
# Keep data classes used for serialization
|
|
-keep class com.atridad.ascently.data.model.** { *; }
|
|
-keep class com.atridad.ascently.data.format.** { *; }
|
|
|
|
# Coroutines
|
|
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
|
|
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
|
|
-keepclassmembers class kotlinx.coroutines.** {
|
|
volatile <fields>;
|
|
}
|
|
|
|
|
|
|
|
# If your project uses WebView with JS, uncomment the following
|
|
# and specify the fully qualified class name to the JavaScript interface
|
|
# class:
|
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
|
# public *;
|
|
#} |