Skip to content

Commit 1c2f2e3

Browse files
committed
fix proguard issues with serialization
1 parent f83885f commit 1c2f2e3

4 files changed

Lines changed: 43 additions & 1 deletion

File tree

androidApp/build.gradle.kts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import java.lang.System.getenv
22

33
plugins {
44
alias(libs.plugins.kotlin.multiplatform)
5+
alias(libs.plugins.kotlin.serialization)
56
alias(libs.plugins.android.application)
67
alias(libs.plugins.compose.multiplatform)
78
}
@@ -41,7 +42,10 @@ android {
4142
release {
4243
isMinifyEnabled = true
4344
isShrinkResources = true
44-
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"))
45+
proguardFiles(
46+
getDefaultProguardFile("proguard-android-optimize.txt"),
47+
"proguard-rules.pro",
48+
)
4549
}
4650
}
4751
packaging {

androidApp/proguard-rules.pro

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
-dontwarn org.slf4j.impl.StaticLoggerBinder

desktopApp/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import java.lang.System.getenv
33

44
plugins {
55
alias(libs.plugins.kotlin.multiplatform)
6+
alias(libs.plugins.kotlin.serialization)
67
alias(libs.plugins.compose.multiplatform)
78
}
89

desktopApp/compose-desktop.pro

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,30 @@
11
-keep class com.arkivanov.decompose.extensions.compose.jetbrains.mainthread.SwingMainThreadChecker
22
-keep class kotlinx.coroutines.swing.SwingDispatcherFactory
33
-keep class org.bridj.** { *; }
4+
-keep class io.ktor.serialization.kotlinx.json.KotlinxSerializationJsonExtensionProvider { *; }
5+
-keep class kotlinx.serialization.SerialFormat { *; }
6+
-keepattributes Annotation, InnerClasses
7+
-dontnote kotlinx.serialization.AnnotationsKt
8+
-dontnote kotlinx.serialization.SerializationKt
9+
-keep,includedescriptorclasses class ml.dev.kotlin.openotp.**$$serializer { *; }
10+
-keepclassmembers class ml.dev.kotlin.openotp.** {
11+
*** Companion;
12+
}
13+
-keepclasseswithmembers class ml.dev.kotlin.openotp.** {
14+
kotlinx.serialization.KSerializer serializer(...);
15+
}
16+
-keepclassmembers class kotlinx.serialization.json.** {
17+
*** Companion;
18+
}
19+
-keepclasseswithmembers class kotlinx.serialization.json.** {
20+
kotlinx.serialization.KSerializer serializer(...);
21+
}
22+
-keepclassmembers class kotlinx.serialization.cbor.** {
23+
*** Companion;
24+
}
25+
-keepclasseswithmembers class kotlinx.serialization.cbor.** {
26+
kotlinx.serialization.KSerializer serializer(...);
27+
}
428

529
-dontwarn com.arkivanov.decompose.extensions.compose.jetbrains.pages.**
630
-dontwarn org.xml.sax.**
@@ -17,3 +41,15 @@
1741
-dontwarn ch.qos.logback.classic.**
1842
-dontwarn javafx.**
1943
-dontwarn com.github.eduramiba.webcamcapture.**
44+
-dontwarn android.security.**
45+
-dontwarn android.net.http.**
46+
-dontwarn android.net.ssl.**
47+
-dontwarn android.util.**
48+
-dontwarn android.os.**
49+
-dontwarn org.bouncycastle.jsse.**
50+
-dontwarn org.openjsse.javax.net.ssl.**
51+
-dontwarn org.openjsse.net.ssl.**
52+
-dontwarn org.conscrypt.**
53+
-dontwarn java.lang.Thread$Builder$OfPlatform
54+
-dontwarn java.lang.Thread$Builder$OfVirtual
55+
-dontwarn java.lang.Thread$Builder

0 commit comments

Comments
 (0)