摘要:一行代码解决某个字段解析失败,导致网络请求整体失败的问题。原文项目地址工程根目录加入工程根目录加入工程目录加入依赖可选调用监听异常字段,建议收到后上报给服务器添加混淆
一行代码解决Android某个字段gson解析失败,导致网络请求整体失败的问题。
原文
项目github地址
1.工程根目录加入repositories
buildscript { repositories { maven { url "https://jitpack.io" } } } allprojects { repositories { maven { url "https://jitpack.io" } } }
2.工程根目录build.gradle加入ClassPath
dependencies { classpath "com.github.LianjiaTech:gson-plugin:2.0.1" }
3.工程app目录build.gradle加入依赖
apply plugin: "com.ke.gson.plugin"
4.可选调用(监听异常json字段,建议收到后上报给服务器)
ReaderTools.setListener(new ReaderTools.JsonSyntaxErrorListener() { @Override public void onJsonSyntaxError(String exception, String invokeStack) { //upload error info to server Log.e("test", "json syntax exception: " + exception); Log.e("test", "json syntax invokeStack: " + invokeStack); } });
5.添加混淆keep
-keep class com.google.gson.** { *; } -keep class com.ke.gson.** { *; }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/72252.html
摘要:六原理说明侵入编译流程,在编译过程中,修改库的字节码,修改解析相关的方法,在数据类型不一致的时候,跳过当前字段的解析。 一、目录 1.gson-plugin告别Json数据类型不一致(一)2.gson-plugin基础源码分析(二)3.gson-plugin深入源码分析(三)4.gson-plugin如何在JitPack发布(四) 看完这4篇文章,对Gson解析会有更加深刻的认识,对A...
摘要:六修改内部类的方法这个的方法是对类型的数据进行解析,我们判断输入的数据类型不是类型,就直接跳过解析,核心是在方法中插入方法。每一个类每一个内部类每一个匿名内部类,都会生成一个独立的文件,如。 一、项目地址 项目地址:github-gson-plugin 二、ReaderTools解析 /** * Created by tangfuling on 2018/10/23. */ pu...
阅读 3063·2023-04-26 00:53
阅读 3491·2021-11-19 09:58
阅读 1673·2021-09-29 09:35
阅读 3256·2021-09-28 09:46
阅读 3751·2021-09-22 15:38
阅读 2676·2019-08-30 15:55
阅读 2984·2019-08-23 14:10
阅读 3758·2019-08-22 18:17