Spikeysanju / Einsen

🎯 Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built to Demonstrate use of Jetpack Compose with Modern Android Architecture Components & MVVM Architecture.
Apache License 2.0
912 stars 79 forks source link

Proguard minified your classes and deserialization #93

Closed Spikeysanju closed 2 years ago

Spikeysanju commented 2 years ago

💬 Describe the bug Currently All Emoji BottomSheet is not showing up any emoji's because of Proguard minified classes & deserialisation no longer works due to different (shorter) class and property names.

💡 Solution

Make sure you have this in your proguard:

-keepattributes *Annotation*, InnerClasses
-dontnote kotlinx.serialization.SerializationKt
-keep,includedescriptorclasses class com.yourcompany.yourpackage.**$$serializer { *; } # <-- change package name to your app's
-keepclassmembers class com.yourcompany.yourpackage.** { # <-- change package name to your app's
    *** Companion;
}
-keepclasseswithmembers class com.yourcompany.yourpackage.** { # <-- change package name to your app's
    kotlinx.serialization.KSerializer serializer(...);
}