在Android和PC之间序列化对象(Dalvik vs JVM)
作者:互联网
我正在使用大型库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字段来解决问题.
标签:android,serialization,jvm,dalvik,weka 来源: https://codeday.me/bug/20190710/1420310.html