アクティビティのinstanceStateには、シリアライズ可能(bundle.putSerializable)が格納されています。アプリのアップグレード中にAndroidアクティビティのインスタンス状態が消去されていますか?
Caused by: java.lang.ClassNotFoundException: o.ণ
at java.lang.Class.classForName(Class.java)
at java.lang.Class.forName(Class.java:308)
at android.os.Parcel$2.resolveClass(Parcel.java:2373)
at java.io.ObjectInputStream.readNewClassDesc(ObjectInputStream.java:1641)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:657)
at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1782)
at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:761)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1983)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1940)
at android.os.Parcel.readSerializable(Parcel.java:2381)
私たちのコードがDexGuardで難読化されています。私たちは次のスタックトレースを見てPlayストアからのクラッシュレポートで 。 Androidはクラスをシリアル化できますが、クラスを逆シリアル化できないようです。
私たちが現在考えることのできる唯一の理由は、(Playストア経由で)アプリのアップグレードです。バージョン間でクラスが変更され(デクスガードのため)、逆シリアル化が不可能になります。
私の質問は、アプリケーションのアップグレード中にAndroidがすべてのinstanceStateをクリーンアップするかどうかです。
アプリは、特別な種類の「意図」を処理しますか?内部の 'サービス 'を呼び出すか提供するか? – JimmyB
はい、バンドルパラメータを持つIntentで開始された内部サービスがあります。しかし、私が上で説明した問題は、アクティビティ内の問題です。 – userM1433372
答えにコメントがありますか? –