我想知道它是否会起作用...在我的应用程序中,我有一个对象,我正在序列化文件,然后我使用ProGuard对代码进行模糊处理,然后应用程序进入市场。然后我想发布新版本的应用程序。我也一样。用户运行应用程序更新。
问题是 - 使用第一个版本的应用程序序列化的对象是否在第二个版本中正确反序列化?如果是的话 - 为什么?
答案 0 :(得分:1)
我可以找到几种机制(serialPersistentFields,ObjectInputStream#readFields),这使得自定义序列化可以依赖于字段名称 - 假设默认机制尚未完成。 ProGuard documentation有一些示例配置,显示如何使ProGuard忽略字段名称以及序列化使用的所有特殊方法和字段。