[英]Due to Proguard I am getting this error for list iterator
That is my stack trace, When I am running my app in debug it runs perfectly fine but when I am running my app in release mode it gives below error when I click on list item. 那就是我的堆栈跟踪,当我在调试中运行我的应用程序时,它运行得很好,但是当我在发布模式下运行我的应用程序时,当我单击列表项时,它给出了以下错误。
java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference at dkw.a(Unknown Source) at dmh.a(Unknown Source) at dmh.success(Unknown Source) at retrofit.CallbackRunnable$1.run(Unknown Source) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5930) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
java.lang.NullPointerException:尝试在dmw上的dkw.a(未知源)上的空对象引用上调用接口方法'java.util.Iterator java.util.List.iterator()' .success(未知来源),位于Retrofit.CallbackRunnable $ 1.run(未知来源),位于android.os.Handler.handleCallback(Handler.java:739),位于android.os.Handler.dispatchMessage(Handler.java:95)。 android.app.ActivityThread.main(ActivityThread.java:5930)上的os.Looper.loop(Looper.java:135)在java.lang.reflect.Method上的java.lang.reflect.Method.invoke(Native Method)上。 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1405)处的com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)处的invoke(Method.java:372)
I can assume that the list is empty due to GSON not deserialising the JSON properly since your POJO got obfuscated. 我可以假设该列表为空,这是因为自从您的POJO被混淆以来,GSON未正确反序列化JSON。
In your class that contains the list you're trying to iterate on annotate your variables with @SerializedName("json_variable_name_here")
So for example if JSON is: 在包含列表的类中,您尝试使用
@SerializedName("json_variable_name_here")
对变量进行注释,例如,如果JSON是:
{
"name":"alice"
"foo" : "bar",
}
Your POJO should look like: 您的POJO应该如下所示:
@SerializedName("name")
String name;
@SerializedName("foo")
String foo;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.