NoSuchMethodError с использованием аннотации @Parcelize в Kotlin


В настоящее время я опробую эксперимент (возможно, поэтому он не работает...) @Parcelize аннотации для генерации кода Parcelable. Большинство типов, кажется, работают нормально, но у меня возникли проблемы с SerializableS бросая NoSuchMethodError:

   10-05 13:55:18.549 20808-20808/com.app E/AndroidRuntime: FATAL EXCEPTION: main
   Process: com.app, PID: 20808
   java.lang.NoSuchMethodError: No virtual method writeSerializable(Ljava/util/Date;)V in class Landroid/os/Parcel;
   or its super classes (declaration of 'android.os.Parcel' appears in /system/framework/framework.jar)
       at com.app.models.Job.writeToParcel(Job.kt)
       at android.os.Parcel.writeParcelable(Parcel.java:1496)
       at android.os.Parcel.writeValue(Parcel.java:1402)
       at android.os.Parcel.writeArrayMapInternal(Parcel.java:724)
       at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1408)
       at android.os.Bundle.writeToParcel(Bundle.java:1157)
       at android.os.Parcel.writeBundle(Parcel.java:764)
       at android.content.Intent.writeToParcel(Intent.java:8687)
       at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:3082)
       at android.app.Instrumentation.execStartActivity(Instrumentation.java:1518)
       at android.app.Activity.startActivityForResult(Activity.java:4225)
       at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54)
       at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:65)
       at android.app.Activity.startActivityForResult(Activity.java:4183)
       at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:711)
       at android.app.Activity.startActivity(Activity.java:4522)
       at android.app.Activity.startActivity(Activity.java:4490)
Я знаю, что мог бы исправить это, изменив объекты Date на строки, но предпочел бы этого не делать. Кто-нибудь еще сталкивался с этой проблемой, которая могла бы обеспечить жизнеспособный обходной путь, кроме использования строк?

Если необходимо, вот реализация для Ссылка:

@Parcelize
data class Job(val id: String,
               val description: String,
               val state: String,
               val job_type: String?,
               val close_on: Date?,
               val posted_on: Date?) : Parcelable
1 6

1 ответ:

Ничего не нашел на SO, поэтому вместо удаления я оставлю его здесь для справки, если кто-то еще столкнется с ним. Похоже, что это было зарегистрировано как Ошибка , которая влияет на 1.1.4 и 1.1.50. (Я использовал 1.1.4).

Похоже, что это было исправлено для версий 1.1.6 и выше.