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 核心库中的一个可能的错误,如果被报告可以修复。 Dalvik 有一个 public bug tracker用于审查和报告错误。

无论错误如何,您都应该能够通过添加 serialVersionUID 来解决问题。到你的类(class)。

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

相关文章:

java - 在 Android Studio 中,如何将应用程序项目更改为库?

android - 如何在 Android 软键盘键上绘制两行文本?

java - java.io.Serializable 的 C/C++ 等价物是什么?

c++ - 在 C++ 中序列化/反序列化简单协议(protocol)的最佳方式

java - 符合specjvm2008基准测试

java - 如何在后台服务中检测 View 之外的触摸事件?

java - 如何在用户编辑后获取 EditText 的值?

generics - Kotlin声明签名冲突?

c# - 如何使用 JIL 通过参数化构造函数反序列化类型?

java - 理解 perf.map