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
- Android Retrofit sin respuesta
- JsonSubTypes, lista de objetos polimórficos y Parcelable
- JSONObject no funciona para Android 2.3, pero funciona bien con Android 4.2, ¿por qué?
- Convertir JSONArray a Array de cadenas
- Cómo POST datos en Android a servidor en formato JSON?
- Mapeo de Json a POJO en Android
- No se puede leer los datos del paquete de notificación de inserción de Parse
- JSON Parsing problema con Spinners
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)
- Android: Añadir un fragmento simple
- Android gradle build: archivos duplicados durante el embalaje de APK LICENSE.txt