【发布时间】:2015-01-06 14:45:02
【问题描述】:
我已经发布了一个被 dexguard 混淆的安卓应用。一切似乎都很好,除了 Galaxy Tab 3 10.1 和只有 Android 4.4,这是唯一向开发者控制台报告错误的设备。
我得到以下异常:
java.lang.RuntimeException: Missing type parameter.
at com.google.gson.reflect.TypeToken.<init>(:62)
at com....util.Helper$2.<init>(:398)
Helper.java 类和第 398 行中的代码
return (Config) getSerializable(context, CONFIG, new TypeToken<Config>(){}.getType());
我的 dexguard 规则:
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-keep class sun.misc.Unsafe { *; }
# Application classes that will be serialized/deserialized over Gson
# path to the config class: com/.../models/config/Config.java;
-keep class com....models.** { *; }
-keepattributes Signature
不仅我自己无法重现该错误(我还有一个带有 Android 4.2 的 Galaxy Tab 3,尚未提供更新),它仅与上述设备有关。
【问题讨论】:
-
我在三星 Galaxy Tab 3 上有这个确切的问题,不完全确定该怎么做!也使用 dexguard。
-
我只在 Tab 3 10.1 上遇到了类似的问题,而且我也在使用 DexGuard。但显然这发生在 twitter 核心库中,而不是在我的代码中
标签: android gson proguard android-4.4-kitkat dexguard