我正在开发一款多平台游戏(桌面和Android),目前我正在开发序列化。我使用lift-json。它在台式机上效果很好,但在Android上却是一场噩梦:
举个例子,如果我写
case class A(int:Int)
implicit val formats = Serialization.formats(ShortTypeHints(List(classOf[A])))
println(write(A(1)))在台式机上,我有:
{jsonClass: "A",int:1} 在Android上:
{jsonClass : "A"} (我不能反序列化它,因为它缺少成员)。我怀疑原因是android版本使用的proguard 4.8。
发布于 2012-11-10 03:56:53
proguard做的一件事就是更改类名和成员名。如果你正在使用任何使用Java反射的东西,那么proguard可能会把它搞乱。
如果是这种情况,您必须告诉Proguard不要混淆存储JSON数据所需的类
https://stackoverflow.com/questions/13314622
复制相似问题