我正在与一个大型库 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 核心库中的一个可能的错误,如果被报告可以修复。 Dalvik 有一个 public bug tracker用于审查和报告错误。
无论错误如何,您都应该能够通过添加 serialVersionUID 来解决问题。到你的类(class)。
关于android - 在 Android 和 PC 之间序列化对象(Dalvik vs JVM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5331415/