title: How to fix Unmarshalling unknown type code XXX at offset YYY in Android?
body: <p>I'm having app crash on resume because of Unmarshalling exception. I've checked all the Serializables have constructor with no parameters and even checked all the serializables using ObjectStream (save to file and load from file). How can i understand actual class type for parcelable offset that cause exception:</p>
  
  <pre><code>Parcel android.os.Parcel@42209460: Unmarshalling unknown type code
   2131165303 at offset 3748
           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2080)
           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2105)
           at android.app.ActivityThread.access$600(ActivityThread.java:136)
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
           at android.os.Handler.dispatchMessage(Handler.java:99)
           at android.os.Looper.loop(Looper.java:137)
           at android.app.ActivityThread.main(ActivityThread.java:4876)
           at java.lang.reflect.Method.invokeNative(Native Method)
           at java.lang.reflect.Method.invoke(Method.java:511)
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:804)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:571)
           at com.kdgdev.xtension.core.XtensionMain.main(XtensionMain.java:91)
           at dalvik.system.NativeStart.main(Native Method)
          Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@42209460: Unmarshalling unknown type code 2131165303
   at offset 3748
           at android.os.Parcel.readValue(Parcel.java:2032)
           at android.os.Parcel.readSparseArrayInternal(Parcel.java:2255)
           at android.os.Parcel.readSparseArray(Parcel.java:1687)
           at android.os.Parcel.readValue(Parcel.java:2022)
           at android.os.Parcel.readMapInternal(Parcel.java:2226)
           at android.os.Bundle.unparcel(Bundle.java:223)
           at android.os.Bundle.getSparseParcelableArray(Bundle.java:1232)
          at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1690)
           at android.app.Activity.onRestoreInstanceState(Activity.java:999)
           at com.actionbarsherlock.app.SherlockFragmentActivity.onRestoreInstanceState(Unknown
   Source)
           at name.myname.android.app.ui.MainActivity.onRestoreInstanceState(Unknown
   Source)
           at android.app.Activity.performRestoreInstanceState(Activity.java:971)
           at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1130)
           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2058)
         ... 12 more
  </code></pre>
  
  <p>Saved data consists of <code>Bundle</code>s and <code>Serializable</code>s and all of them look good.</p>
  
  <p>I'm going to do the next:</p>
  
  <pre><code>try {
  // unmarshalling
  } catch (Throwable t) {
  // look offset 
  }
  </code></pre>
  
  <p>How can i understand what type is actually for Parcelable offset?</p>