2016-04-13 14 views
1

Das ist mein Stack-Trace ist, Wenn ich meine Anwendung im Debug leite läuft es völlig in Ordnung aber , wenn ich meine app im Release-Modus leite es unter Fehler gibt, wenn Ich klicke auf Listenelement.Aufgrund Progaurd ich erhalte diesen Fehler für Liste Iterator

java.lang.NullPointerException: Versuch Schnittstelle Methode aufzurufen 'java.util.Iterator java.util.List.iterator()' auf einem Null-Objekt Referenz bei dkw.a (Unknown Source) bei dmh.a (unbekannte Quelle) bei dmh.success (unbekannte Quelle) bei retrofit.CallbackRunnable $ 1.run (unbekannte Quelle) bei android.os.Handler.handleCallback (Handler.java:739) bei android.os .Handler.dispatchMessage (Handler.java:95) bei android.os.Looper.loop (Loope r.java:135) bei android.app.ActivityThread.main (ActivityThread.java:5930) bei java.lang.reflect.Method.invoke (native Methode) bei java.lang.reflect.Method.invoke (Methode .java: 372) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1405) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1200)

+1

wir müssten etwas Code sehen. –

+0

Auch, weil Sie Retrofit verwenden, überprüfen Sie den Proguard-Abschnitt in http://square.github.io/retrofit –

+0

@ JoaoSousa welcher Teil des Codes Sie progardieren müssen ein oder api Klassencode oder sonst ????? –

Antwort

2

Ich kann davon ausgehen, dass die Liste leer ist, weil GSON den JSON nicht richtig deserialisiert hat, seit Ihr POJO verschleiert wurde.

In Ihrer Klasse, die die Liste enthält, die Sie auf annotate Ihre Variablen mit @SerializedName("json_variable_name_here") So zum Beispiel zu wiederholen sind versuchen, wenn JSON ist:

{ 
"name":"alice" 
"foo" : "bar", 
    } 

Ihre POJO sollte wie folgt aussehen:

@SerializedName("name") 
String name; 

@SerializedName("foo") 
String foo; 
+0

Pojo ist korrekt, als ich überprüft @Ian –

+0

habe den Fehler, da es einen Fehler von API ist ich treffe. –

Verwandte Themen