【发布时间】:2020-03-13 13:06:42
【问题描述】:
在 build.gradle 中使用 R8 和 minifyEnabled true 混淆 android 应用程序时,它会在 web 服务响应之一中添加如下所示的重复键。
响应:{"key1":"value1", ......., "key1":"value1"} 多次添加“key1”,flexJson 抛出异常并导致应用崩溃
Caused by: flexjson.JSONException: Duplicate key "key1"
at flexjson.JSONTokener.putOnce(JSONTokener.java:498)
at flexjson.JSONTokener.parseObject(JSONTokener.java:471)
at flexjson.JSONTokener.nextValue(JSONTokener.java:357)
at flexjson.JSONTokener.parseObject(JSONTokener.java:471)
at flexjson.JSONTokener.nextValue(JSONTokener.java:357)
at flexjson.JSONDeserializer.deserialize(JSONDeserializer.java:197)
没有混淆一切正常(minifyEnabled false)。
使用的 Gradle 插件版本:3.4.2,flexJson 也被项目中包含的库之一使用。
【问题讨论】:
-
嘿,你试过这个解决方案吗:stackoverflow.com/questions/6533676/… ?
-
@KévinGiacomino 是的,我试过没有用。
-
现在 R8 错误跟踪器 issuetracker.google.com/151765072 也跟踪此问题。
-
@takharsh 你解决了这个问题吗?
-
@Daryn 尚未解决尚未继续使用 dexguard。
标签: android proguard obfuscation android-r8