12-28 12:32:05.977 E/AndroidRuntime(18542): Process: com.souyidai.investment.android, PID: 18542 12-28 12:32:05.977 E/AndroidRuntime(18542): com.alibaba.fastjson.JSONException: write javaBean error, fastjson version 1.1.67 12-28 12:32:05.977 E/AndroidRuntime(18542): at com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:657) 12-28 12:32:05.977 E/AndroidRuntime(18542): at com.alibaba.fastjson.serializer.JSONSerializer.write(JSONSerializer.java:262) 12-28 12:32:05.977 E/AndroidRuntime(18542): at com.alibaba.fastjson.JSON.toJSONString(JSON.java:695) 12-28 12:32:05.977 E/AndroidRuntime(18542): at com.alibaba.fastjson.JSON.toJSONString(JSON.java:415) 12-28 12:32:05.977 E/AndroidRuntime(18542): at com.alibaba.fastjson.JSON.toJSONString(JSON.java:411) 12-28 12:32:05.977 E/AndroidRuntime(18542): at com.xxx.xxxxx 12-28 12:32:05.977 E/AndroidRuntime(18542): at android.view.View.performClick(View.java:5619) 12-28 12:32:05.977 E/AndroidRuntime(18542): at android.view.View$PerformClick.run(View.java:22295) 12-28 12:32:05.977 E/AndroidRuntime(18542): at android.os.Handler.handleCallback(Handler.java:754) 12-28 12:32:05.977 E/AndroidRuntime(18542): at android.os.Handler.dispatchMessage(Handler.java:95) 12-28 12:32:05.977 E/AndroidRuntime(18542): at android.os.Looper.loop(Looper.java:163) 12-28 12:32:05.977 E/AndroidRuntime(18542): at android.app.ActivityThread.main(ActivityThread.java:6337) 12-28 12:32:05.977 E/AndroidRuntime(18542): at java.lang.reflect.Method.invoke(Native Method) 12-28 12:32:05.977 E/AndroidRuntime(18542): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:880) 12-28 12:32:05.977 E/AndroidRuntime(18542): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770) 12-28 12:32:05.977 E/AndroidRuntime(18542): Caused by: com.alibaba.fastjson.JSONException: get property error。 android.content.pm.ComponentInfo.getBannerResource 12-28 12:32:05.977 E/AndroidRuntime(18542): at com.alibaba.fastjson.serializer.FieldSerializer.getPropertyValue(FieldSerializer.java:100) 12-28 12:32:05.977 E/AndroidRuntime(18542): at com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:353) 12-28 12:32:05.977 E/AndroidRuntime(18542): ... 14 more 12-28 12:32:05.977 E/AndroidRuntime(18542): Caused by: java.lang.reflect.InvocationTargetException 12-28 12:32:05.977 E/AndroidRuntime(18542): at java.lang.reflect.Method.invoke(Native Method) 12-28 12:32:05.977 E/AndroidRuntime(18542): at com.alibaba.fastjson.util.FieldInfo.get(FieldInfo.java:351) 12-28 12:32:05.977 E/AndroidRuntime(18542): at com.alibaba.fastjson.serializer.FieldSerializer.getPropertyValue(FieldSerializer.java:92) 12-28 12:32:05.977 E/AndroidRuntime(18542): ... 15 more 12-28 12:32:05.977 E/AndroidRuntime(18542): Caused by: java.lang.NullPointerException: Attempt to read from field 'int android.content.pm.PackageItemInfo.banner' on a null object reference 12-28 12:32:05.977 E/AndroidRuntime(18542): at android.content.pm.ComponentInfo.getBannerResource(ComponentInfo.java:153) 12-28 12:32:05.977 E/AndroidRuntime(18542): ... 18 more
尝试序列化android中的ServiceInfo出错, 简单看了一下,似乎是因为调用了ComponentInfo.getBannerResource
由于ServiceInfo是我用反射构造出来的,所以有一些字段没有初始化, 在调用上述方法时用了一个未初始化的字段,于是就挂了.