莫希和Android 2.3.3

我在Android 2.3.3上使用moshi时遇到问题:

D/PassAndroid( 1649): java.lang.IllegalArgumentException: cannot construct instances of org.ligi.passandroid.model.pass.PassImpl D/PassAndroid( 1649): at com.squareup.moshi.ClassFactory.get(ClassFactory.java:110) D/PassAndroid( 1649): at com.squareup.moshi.ClassJsonAdapter$1.create(ClassJsonAdapter.java:61) D/PassAndroid( 1649): at com.squareup.moshi.Moshi.adapter(Moshi.java:92) D/PassAndroid( 1649): at com.squareup.moshi.Moshi.adapter(Moshi.java:61) D/PassAndroid( 1649): at org.ligi.passandroid.model.AndroidFileSystemPassStore.save(AndroidFileSystemPassStore.kt:33) D/PassAndroid( 1649): at org.ligi.passandroid.ui.PassListActivity.onFABClick(PassListActivity.java:82) D/PassAndroid( 1649): at org.ligi.passandroid.ui.PassListActivity$$ViewBinder$2.doClick(PassListActivity$$ViewBinder.java:39) D/PassAndroid( 1649): at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22) D/PassAndroid( 1649): at android.view.View.performClick(View.java:2485) D/PassAndroid( 1649): at android.view.View$PerformClick.run(View.java:9080) D/PassAndroid( 1649): at android.os.Handler.handleCallback(Handler.java:587) D/PassAndroid( 1649): at android.os.Handler.dispatchMessage(Handler.java:92) D/PassAndroid( 1649): at android.os.Looper.loop(Looper.java:130) D/PassAndroid( 1649): at android.app.ActivityThread.main(ActivityThread.java:3683) D/PassAndroid( 1649): at java.lang.reflect.Method.invokeNative(Native Method) D/PassAndroid( 1649): at java.lang.reflect.Method.invoke(Method.java:507) D/PassAndroid( 1649): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) D/PassAndroid( 1649): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) D/PassAndroid( 1649): at dalvik.system.NativeStart.main(Native Method) E/AndroidRuntime( 1649): FATAL EXCEPTION: main E/AndroidRuntime( 1649): java.lang.IllegalArgumentException: cannot construct instances of org.ligi.passandroid.model.pass.PassImpl E/AndroidRuntime( 1649): at com.squareup.moshi.ClassFactory.get(ClassFactory.java:110) E/AndroidRuntime( 1649): at com.squareup.moshi.ClassJsonAdapter$1.create(ClassJsonAdapter.java:61) E/AndroidRuntime( 1649): at com.squareup.moshi.Moshi.adapter(Moshi.java:92) E/AndroidRuntime( 1649): at com.squareup.moshi.Moshi.adapter(Moshi.java:61) E/AndroidRuntime( 1649): at org.ligi.passandroid.model.AndroidFileSystemPassStore.save(AndroidFileSystemPassStore.kt:33) E/AndroidRuntime( 1649): at org.ligi.passandroid.ui.PassListActivity.onFABClick(PassListActivity.java:82) E/AndroidRuntime( 1649): at org.ligi.passandroid.ui.PassListActivity$$ViewBinder$2.doClick(PassListActivity$$ViewBinder.java:39) E/AndroidRuntime( 1649): at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22) E/AndroidRuntime( 1649): at android.view.View.performClick(View.java:2485) E/AndroidRuntime( 1649): at android.view.View$PerformClick.run(View.java:9080) E/AndroidRuntime( 1649): at android.os.Handler.handleCallback(Handler.java:587) E/AndroidRuntime( 1649): at android.os.Handler.dispatchMessage(Handler.java:92) E/AndroidRuntime( 1649): at android.os.Looper.loop(Looper.java:130) E/AndroidRuntime( 1649): at android.app.ActivityThread.main(ActivityThread.java:3683) E/AndroidRuntime( 1649): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime( 1649): at java.lang.reflect.Method.invoke(Method.java:507) E/AndroidRuntime( 1649): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) E/AndroidRuntime( 1649): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) E/AndroidRuntime( 1649): at dalvik.system.NativeStart.main(Native Method) 

它适用于更高版本的Android。 PassImpl是一个kotlin类 – 但是moshi通常能够创建它们,因为它可以在更高版本上运行。 任何人都知道这个解决方法?

这是一个现在已经解决的moshi错误: https : //github.com/square/moshi/issues/117