2011-03-16 30 views
4

我正在与大型图书馆weka合作,并希望在PC版和Android版之间传输实例。我宁愿没有改写两者之间的整个序列,但reguardless什么UID我改变的事情,我总是得到这样的错误:Android和PC之间的序列化对象(Dalvik vs JVM)

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的数组,这些号码与分配给班级的号码不匹配。有没有解决方法?

+0

你是否设法最终解决这个问题?我在Galaxy Nexus上遇到同样的问题,而它在Nexus 5上工作。 – 2015-05-30 18:45:31

回答

1

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

无论错误如何,您都应该能够通过在班级中添加serialVersionUID字段来解决问题。

+0

这是我的代码: 'protected class NeuralEnd extends NeuralConnection {0} ' 因此,您可以看到,我没有定义出现在错误中的serialVersionUID。我的直觉是阵列uid是不同的。 – 2011-03-19 20:52:28

相关问题