Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Proguard problema durante el uso de GSON

Estoy utilizando Gson en mi aplicación y para eso, estoy usando algunas clases con el mismo nombre que el de Json. Mi aplicación funciona bien, pero al escribir proguard, fallos de aplicación, supongo que algunas de las clases se están reduciendo. Mi error es:

Java.lang.ClassCastException: com.google.gson.internal.StringMap no se puede convertir en com.sample.package.GsonClass

  • Crear cadena JSON con GSON
  • ¿Cómo puedo deserializar un objeto JSON pero mantener un campo específico como una cadena en lugar de un objeto anidado?
  • Gson convierte una matriz de objetos de datos en json - Android
  • ¿Cómo utilizar genéricos personalizados en la clase GSON TypeToken?
  • JSONException: El valor del tipo java.lang.String no se puede convertir en JSONObject
  • Cómo analizar este JSON Array en android
  • Google Play APK y Android Studio APK (depuración USB) se comportan de forma diferente
  • Cómo manejar dinámicamente matriz / objeto de respuesta json usando Gson
  • ¿Cuál es el propósito básico de la anotación @SerializedName en android usando GSon
  • Android JSON CharSet UTF-8 problemas
  • ¿Cómo utilizo el convertidor Gson en RetroFit?
  • Retrofit2 Publicar imagen como base64
  • 2 Solutions collect form web for “Proguard problema durante el uso de GSON”

    Debe agregar estas líneas a su proguard para que se guarde la clase de gson mientras firma su aplicación.

    ##---------------Begin: proguard configuration for Gson ---------- # Gson uses generic type information stored in a class file when working with fields. Proguard # removes such information by default, so configure it to keep all of it. -keepattributes Signature # Gson specific classes -keep class sun.misc.Unsafe { *; } #-keep class com.google.gson.stream.** { *; } # Application classes that will be serialized/deserialized over Gson -keep class com.google.gson.examples.android.model.** { *; } ##---------------End: proguard configuration for Gson ---------- 

    Otra razón es: antes del uso

     List<T> list = gson.fromJson(jsonString, type); 

    Debe construir el typeToken correcto, como esto:

     Type type = new TypeToken<List<T>>(){}.getType(); List<T> list = gson.fromJson(jsonString,type) 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.