Android app升级版本后闪退

Android新版本开发完成后经过多个版本的测试手机均测试正常,正式上线后却被客户反应闪退。获取到客户使用的客户端型号和Android版本测试后均没问题(此时大脑飘过N匹羊驼)
通过抓取客户使用日志找出奔溃异常日志

Unable to start activity ComponentInfo{com.**/com.**Activity}: com.alibaba.fastjson.JSONException: syntax error, expect {, actual [, pos 14 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3297) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3405) at android.app.ActivityThread.-wrap12(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1994) at android.os.Handler.dispatchMessage(Handler.java:108) at android.os.Looper.loop(Looper.java:166) at android.app.ActivityThread.main(ActivityThread.java:7523) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921) Caused by: com.alibaba.fastjson.JSONException: syntax error, expect {, actual [, pos 14

再查看2年前写的代码
String jsonResult = SharedPrefUtils.getString(activity, id + Constant.**_JSON, ""); if (!TextUtils.isEmpty(jsonResult)) { processData(jsonResult); } // 网络获取数据(正式环境请打开) LogUtils.i(TAG, "网络获取数据"); getData();

【Android app升级版本后闪退】c
恍然大悟,因为新的版本更改了json数据格式,这段代码逻辑是先获取缓存数据再通过网络获取服务端数据,导致旧版本缓存的json数据解析异常,造成闪退。

    推荐阅读