Gson changes key

Viewed 749

I have a custom list and I am using Gson to convert to jsonArray.

The problem is that if I am using the debug version apk, it is working perfectly, but if I am using the release version apk, the keys change.

Example:

Debug version -> "name", "Mary"
Release version -> "a", "Mary"

All keys change to "a, b, c..."

I have proguard in both versions.

My code:

Gson gson = new Gson();
JsonArray jsonArray = gson.toJsonTree(myCustomList).getAsJsonArray();

Gradle code:

buildTypes {
    release {
        debuggable true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

    }
    debug {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

proguard code:

-dontwarn okhttp3.**
-dontwarn okio.**

##---------------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

# For using GSON @Expose annotation
-keepattributes *Annotation*

# 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.** { *; }

# Prevent proguard from stripping interface information from TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer

I added -keep class yourPackageName.data.model.** { *; } with my package name but I got the same problem.

2 Answers

Keep your member class:

class Name{

 @SerializedName("fNmae")

   private String fNmae;

}


-keepclassmembers class com.integration.Name{
private *;
}
Related