Unresolved exception class when finding catch block: com.google.gson.JsonParseException
E/[XUpdate]: Query failed: network request error!(Failed resolution of: Lcom/google/gson/Gson;)
at com.xuexiang.xupdate._XUpdate.onUpdateError(_XUpdate.java:212)
at com.xuexiang.xupdate.proxy.impl.DefaultUpdateChecker.onCheckError(DefaultUpdateChecker.java:116)
at com.xuexiang.xupdate.proxy.impl.DefaultUpdateChecker.access$100(DefaultUpdateChecker.java:46)
at com.xuexiang.xupdate.proxy.impl.DefaultUpdateChecker$1.onError(DefaultUpdateChecker.java:70)
我看代码只是在 DefaultUpdateParser 轻度使用了一下 new Gson().fromJson(),似乎完全可以用 JSONObject 代替?这样也可以减少一个库依赖,减小体积。
问题描述(必填) 运行时报 gson 相关错误。 建议将 gson 加入库依赖,现在只是设置成了 compileOnly,需要改为 implementation
https://github.com/xuexiangjys/XUpdate/blob/f61cafa54de245ca8cdf6044854e70b3bd55d133/xupdate-lib/build.gradle#L21-L28
compileOnly 导致在使用这个库的时候,必须再自行添加 gson 为依赖,否则运行时找不到相关的类而无法工作,报异常:
我看代码只是在
DefaultUpdateParser
轻度使用了一下new Gson().fromJson()
,似乎完全可以用JSONObject
代替?这样也可以减少一个库依赖,减小体积。https://github.com/xuexiangjys/XUpdate/blob/0f8391411fd655626d8e06580dd26862d48e980b/xupdate-lib/src/main/java/com/xuexiang/xupdate/proxy/impl/DefaultUpdateParser.java#L37
使用的XUpdate版本(必填) 2.0.7
如何重现(必填) 重现的步骤: