2017-10-09 3 views
0

Je rencontre des problèmes avec GSON sur Android avec Proguard. L'APK est compilé, installé sur le téléphone. L'application ne plante pas, elle ne traite pas correctement l'objet.Analyser via GSON avec Proguard

je me connecte toutes les données et il est comme ça:

Je récupère la chaîne correcte avec des données à analyser.

(cookievalue est correct)

Token token = new Gson().fromJson(cookieValue, Token.class); 

Après cette ligne, je la journalisation cet objet et cela conduit à des valeurs nulles uniquement à l'intérieur.

Mon Proguard GSON:

# 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 
-dontwarn sun.misc.** 
-keep class sun.misc.Unsafe { *; } 
-keep class com.google.gson.stream.** { *; } 
-keep class com.google.gson.examples.android.model.** { *; } 


-keep class * implements com.google.gson.TypeAdapterFactory 
-keep class * implements com.google.gson.JsonSerializer 
-keep class * implements com.google.gson.JsonDeserializer 
-keep public class com.google.gson 

règles de Jeton:

-dontwarn com.project.package.model.oauth.** 

-keep,allowshrinking class com.project.package.oauth.Token { *; }
 

Oui, je l'ai essayé cette configuration https://github.com/google/gson/blob/master/examples/android-proguard-example/proguard.cfg

Toutes les suggestions?

Répondre

0

Dans cette ligne:

- keep,allowshrinking class com.project.package.oauth.Token { *; } 

Avez-vous fait un espace entre le tableau de bord et de garder? Si oui, retirez-le et voyez si cela aide.

Vous pouvez également supprimer l'espace après le tiret dans la ligne précédente de newarn.

+0

Non, je n'ai pas ces espaces. Corrections post. Merci :) –