android - Android和PC之间的序列化对象(Dalvik vs JVM)

标签 android serialization jvm dalvik weka

我正在使用一个大型库 weka,我想在 PC 版本和 Android 版本之间传输实例。我宁愿不必重写两者之间的整个序列化,但不管我改变什么UID,我总是得到这个错误:

java.io.InvalidClassException: [Lweka.classifiers.functions.MultilayerPerceptron$NeuralEnd;; Incompatible class (SUID): [Lweka.classifiers.functions.MultilayerPerceptron$NeuralEnd;: static final long serialVersionUID =-359311387972759020L; but expected [Lweka.classifiers.functions.MultilayerPerceptron$NeuralEnd;: static final long serialVersionUID =1920571045915494592L;

看起来数组本身的 SUID 错误,因为这些数字与分配给类的数字不匹配。有解决方法吗?

最佳答案

你能提供更多代码吗?看起来可能是dalvikvm核心库中的一个bug,如果被报告可以修复。达尔维克有一个 public bug tracker用于审查和报告错误。

无论出现什么错误,您都应该能够通过添加 serialVersionUID 来解决该问题。字段到你的类(class)。

关于android - Android和PC之间的序列化对象(Dalvik vs JVM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5331415/

相关文章:

java - 确定或是否有办法识别是否克隆了RFID/NFC?

android - OnClickListener 不响应 fragment 中的点击

java - 将可序列化对象保存在持久存储中(android)

java - 就JVM而言,乌龙是什么?

java - JVM如何保证finally block 的执行?

java - 带旋转器的Android空指针异常

java - Android socket 聊天连接错误

java - 使用genson将json字符串反序列化为流体对象

java - 如何更改标签的值,即使在程序关闭后仍保留该新值

java - 在具有8GB RAM的系统上无法设置超过4GB的XMX