4

大規模なライブラリ weka を使用しており、PC 版と Android 版の間でインスタンスを転送したいと考えています。2つの間のシリアル化全体を書き直す必要はありませんが、変更する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 が間違っているように見えます。回避策はありますか?

4

1 に答える 1

1

もっとコードを提供していただけますか?dalvikvm コア ライブラリのバグの可能性があるように見えますが、報告されれば修正できます。Dalvik には、バグを確認して報告するためのパブリック バグ トラッカーがあります。

バグに関係なく、 serialVersionUIDフィールドをクラスに追加することで問題を回避できるはずです。

于 2011-03-17T07:22:01.963 に答える