简体   繁体   中英

what is the use of kotlinx serialization in android

Hey I new in serialization field in kotlin. I am little bit confused on this dependencies. what is the purpose of this runtime library.

build.gradle(ApplicationApp)

apply plugin: 'kotlinx-serialization'

android {
   compileSdkVersion 30
     defaultConfig {
          applicationId "com.application.app"
          minSdkVersion 21
         targetSdkVersion 30
        .......
    }
}

dependencies {
    implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0"
    .........
}

and this on

build.gradle(:app)

buildscript {
    ext {
        kotlin_version = '1.5.21'
        kotlin_serializtion_version = '1.5.21'
    }

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.4.1'
        classpath 'com.google.gms:google-services:4.3.3'
        classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_serializtion_version"
        classpath 'com.google.firebase:firebase-appdistribution-gradle:2.2.0'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Now the main story comes, I want to update my targetSdkVersion to 31 to support android 12

build.gradle(ApplicationApp)

apply plugin: 'kotlinx-serialization'

android {
   compileSdkVersion 31
     defaultConfig {
          applicationId "com.application.app"
          minSdkVersion 21
         targetSdkVersion 31
        .......
    }
}

dependencies {
    implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0"
    .........
} 

but I am getting this error

Execution failed for task ':app:checkSelectorDebugDuplicateClasses'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
   > Duplicate class kotlinx.serialization.BinaryFormat found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.DeserializationStrategy found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.InternalSerializationApi found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.KSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.MissingFieldException found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.Polymorphic found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.PolymorphicSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.Required found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.SealedClassSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.SerialFormat found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.SerialFormatKt found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.SerialInfo found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.SerialName found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.Serializable found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.SerializationException found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.SerializationStrategy found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.Serializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.StringFormat found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.Transient found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.UnknownFieldException found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.UseSerializers found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.builtins.BuiltinSerializersKt found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.AbstractCollectionSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.AbstractPolymorphicSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.AbstractPolymorphicSerializerKt found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.ArrayClassDesc found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.ArrayListClassDesc found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.ArrayListSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.BooleanArrayBuilder found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.BooleanArraySerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.BooleanSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.ByteArrayBuilder found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.ByteArraySerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.ByteSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.CharArrayBuilder found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.CharArraySerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.CharSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.CollectionDescriptorsKt found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.DoubleArrayBuilder found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.DoubleArraySerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.DoubleSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.EnumDescriptor found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.EnumDescriptor$elementDescriptors$2 found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.EnumSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.EnumSerializer$descriptor$1 found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.FloatArrayBuilder found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.FloatArraySerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.FloatSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.GeneratedSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.GeneratedSerializer$DefaultImpls found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.HashMapClassDesc found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.HashMapSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.HashSetClassDesc found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.HashSetSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.IntArrayBuilder found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.IntArraySerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.IntSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.InternalHexConverter found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.KeyValueSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.LinkedHashMapClassDesc found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.LinkedHashMapSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.LinkedHashSetClassDesc found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.LinkedHashSetSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.ListLikeDescriptor found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.ListLikeSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.LongArrayBuilder found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.LongArraySerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.LongSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.MapEntrySerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.MapEntrySerializer$MapEntry found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.MapEntrySerializer$descriptor$1 found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.MapLikeDescriptor found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.MapLikeSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.NamedValueDecoder found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.NamedValueEncoder found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.NullableSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.ObjectSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.PairSerializer found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.PairSerializer$descriptor$1 found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     Duplicate class kotlinx.serialization.internal.PluginGeneratedSerialDescriptor found in modules jetified-kotlinx-serialization-core-jvm-1.3.1 (org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.3.1) and jetified-kotlinx-serialization-runtime-0.20.0 (org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0)
     ......

If i comment this line it giving no error to me

implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0"

So my main question is

1. what is the use of both library and why it's working in sdk 30 and not working in 31 .

2. What changes do I need to do in my application and also do I need to update the version?

Thanks

I think you can try compiling it with following, in my case I have solved it by updating following version of library.

implementation "org.jetbrains.kotlinx:kotlinx-serialization-core:1.0.0-RC"

instead of following

implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0" 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM