6

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

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

有没有人有适当的规则让 flexjson 在 android 发布 apk 中混淆后正常工作?

类似于 gson lib 的东西。

4

2 回答 2

4

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

-classobfuscationdictionary empty.txt

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

于 2016-09-21T15:25:43.863 回答
2

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

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

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

-classobfuscationdictionary empty.txt
于 2017-08-14T14:10:27.590 回答