Flexjson 和 Dexguard/Proguard

Flexjson and Dexguard/Proguard

当涉及到 flexjson 库时,我在使用 dexguard 时遇到问题。尝试使用 JSONDeserializer 进行反序列化时,我不断收到以下错误。

 **09-15 20:46:10.271 10901-11552/** **A/art: sart/runtime/class_linker.cc:3430] Check failed: klass->IsProxyClass()** 

在 android 发布 apks 中混淆后,是否有人有适当的规则让 flexjson 正常工作?

类似于 gson 库的东西。

很可能这是在 Samsung 设备上进行的 - 一些设备型号和 Android 版本在某些 UTF-8 编码的 unicode 字符方面存在问题。您应该尝试将 DexGuard 更新到最新版本。否则,您也可以尝试使用简单的混淆字典来解决它:

-classobfuscationdictionary empty.txt

其中 empty.txt 是一个空文件。

我们在一些三星设备(Android 5.1.1 上的 Galaxy J1 和 J5)上遇到了同样的问题。该应用程序无法启动。

Crashlytics 和 Google Play 中都没有关于此问题的信息。最终我们联系了 GuardSquare,后者告诉我们更新到最新的 DexGuard 8.0.06。此版本包含一个新词典,可解决这些设备上的 ANR。

使用 Eric 提到的下面的行也可以。虽然这只会使用 ASCII 字符作为他提到的同事。我刚刚问过使用它是否有任何缺点。因为它可能会避免未来的问题。

-classobfuscationdictionary empty.txt