Kotlin plot el problema con gson

Estoy usando @parcelize para gson

Aquí está mi class

@Parcelize data class CommunityModel(@SerializedName("post") val post: PostModel, @SerializedName("is_liked") val isLiked: Boolean, @SerializedName("post_like") val postLike: QuestionModel, @SerializedName("polling_options") val pollingOptions: List<PollingModel>, @SerializedName("post_polled") val postPolled: Boolean) : Parcelable 

Recibí el error. Unable to invoke no-args constructor for class. Register an InstanceCreator with Gson for this type may fix this problem. Unable to invoke no-args constructor for class. Register an InstanceCreator with Gson for this type may fix this problem. .

Pero este error solo se presenta en versiones anteriores de Android (por debajo de 5.0)

Intenté implementar el constructor pnetworkingeterminado:

 constructor: this(PostModel(), true, QuestionModel(), emptyList(), true) 

Pero me dio java.lang.VerifyError lugar

Estoy usando retrofit2 con rxjava2 y la versión 2.3 del convertidor gson

Mi versión de kotlin es 1.1.51

¿Es un error conocido? ¿O hice algo mal?

Complemento del comstackdor no arg

El complemento del comstackdor no-arg genera un constructor de argumento cero adicional para las classs con una anotación específica.

El constructor generado es sintético, por lo que no se puede invocar directamente desde Java o Kotlin, pero se puede llamar mediante reflexión.

Esto permite que Java Persistence API (JPA) cree una instancia de la class de datos aunque no tenga el constructor de parámetro cero desde el punto de vista de Kotlin o Java (consulte la descripción del complemento kotlin-jpa a continuación).

Usando en Gradle

El uso es bastante similar a todo-abierto.

Agregue el complemento y especifique la list de annotations que debe generar un constructor no arg para las classs anotadas.

 buildscript { dependencies { classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version" } } apply plugin: "kotlin-noarg" 

Fuente https://kotlinlang.org/docs/reference/compiler-plugins.html

  • Cómo usar null con kotlin @Parcelize
  • Uso de Parceler con class de datos Kotlin con constructor para serialization
  • Kotlin plotble y arrayList de plotbles
  • Clase plotble de Kotlin lanzando ClassNotFoundException