Zendesk Messaging Android Crash
Android crashes at some point. I believe it's initialization stage.
java.lang.NoSuchFieldException: CONVERSATION_START at java.lang.Class.getField(Class.java:1604) at m7.t$l.<init>(StandardJsonAdapters.java:7) at m7.t$c.a(StandardJsonAdapters.java:23) at m7.s.f(Moshi.java:15) at zendesk.conversationkit.android.internal.rest.model.CreateConversationRequestDtoJsonAdapter.<init>(CreateConversationRequestDtoJsonAdapter.kt:4) at java.lang.reflect.Constructor.newInstance0(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at o7.b.d(Util.java:12) at m7.t$c.a(StandardJsonAdapters.java:21) at m7.s.f(Moshi.java:15) at m7.s.e(Moshi.java:1) at retrofit2.converter.moshi.MoshiConverterFactory.c(MoshiConverterFactory.java:1) at retrofit2.Retrofit.f(Retrofit.java:7) at retrofit2.Retrofit.h(Retrofit.java:1) at retrofit2.RequestFactory$Builder.g(RequestFactory.java:264) at retrofit2.RequestFactory$Builder.f(RequestFactory.java:2) at retrofit2.RequestFactory$Builder.b(RequestFactory.java:12) at retrofit2.RequestFactory.b(RequestFactory.java:1) at retrofit2.ServiceMethod.b(ServiceMethod.java:1) at retrofit2.Retrofit.c(Retrofit.java:4) at retrofit2.Retrofit$1.invoke(Retrofit.java:6) at java.lang.reflect.Proxy.invoke(Proxy.java:1006) at $Proxy8.b at ig.g.a(UserRestClient.kt:4) at lg.a.B(UserActionProcessor.kt:8) at lg.a.c(UserActionProcessor.kt:1) at lg.a$d.invokeSuspend at kotlin.coroutines.jvm.internal.a.resumeWith(ContinuationImpl.kt:4) at af.a1.run(DispatchedTask.kt:22) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:236) at android.app.ActivityThread.main(ActivityThread.java:7904) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
java.lang.AssertionError: Missing field in jg.a at m7.t$l.<init>(StandardJsonAdapters.java:11) at m7.t$c.a(StandardJsonAdapters.java:23) at m7.s.f(Moshi.java:15) at zendesk.conversationkit.android.internal.rest.model.CreateConversationRequestDtoJsonAdapter.<init>(CreateConversationRequestDtoJsonAdapter.kt:4) at java.lang.reflect.Constructor.newInstance0(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at o7.b.d(Util.java:12) at m7.t$c.a(StandardJsonAdapters.java:21) at m7.s.f(Moshi.java:15) at m7.s.e(Moshi.java:1) at retrofit2.converter.moshi.MoshiConverterFactory.c(MoshiConverterFactory.java:1) at retrofit2.Retrofit.f(Retrofit.java:7) at retrofit2.Retrofit.h(Retrofit.java:1) at retrofit2.RequestFactory$Builder.g(RequestFactory.java:264) at retrofit2.RequestFactory$Builder.f(RequestFactory.java:2) at retrofit2.RequestFactory$Builder.b(RequestFactory.java:12) at retrofit2.RequestFactory.b(RequestFactory.java:1) at retrofit2.ServiceMethod.b(ServiceMethod.java:1) at retrofit2.Retrofit.c(Retrofit.java:4) at retrofit2.Retrofit$1.invoke(Retrofit.java:6) at java.lang.reflect.Proxy.invoke(Proxy.java:1006) at $Proxy8.b at ig.g.a(UserRestClient.kt:4) at lg.a.B(UserActionProcessor.kt:8) at lg.a.c(UserActionProcessor.kt:1) at lg.a$d.invokeSuspend at kotlin.coroutines.jvm.internal.a.resumeWith(ContinuationImpl.kt:4) at af.a1.run(DispatchedTask.kt:22) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:236) at android.app.ActivityThread.main(ActivityThread.java:7904) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
-
I have the same problem. Android Zendesk crashes for me on some accounts, works on iOS for all accounts. Funny enough, if an account crashes on Android, if I login with that account on iOS, then retry on Android, the Zendesk SDK work again.
For library ("zendesk.messaging:messaging-android:2.4.0") the log that I see is:
2022-07-13 13:49:55.538 24976-24976/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.***.***, PID: 24976
java.lang.AssertionError: Missing field in zendesk.conversationkit.android.internal.rest.model.a
at m.i.a.u$l.<init>(StandardJsonAdapters.java:11)
at m.i.a.u$c.a(StandardJsonAdapters.java:23)
at m.i.a.t.f(Moshi.java:15)
at zendesk.conversationkit.android.internal.rest.model.CreateConversationRequestDtoJsonAdapter.<init>(CreateConversationRequestDtoJsonAdapter.kt:4)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
at m.i.a.x.b.d(Util.java:12)
at m.i.a.u$c.a(StandardJsonAdapters.java:21)
at m.i.a.t.f(Moshi.java:15)
at m.i.a.t.e(Moshi.java:1)
at x.z.a.a.c(MoshiConverterFactory.java:1)
at x.u.e(Retrofit.java:7)
at x.u.g(Retrofit.java:1)
at x.s$a.g(RequestFactory.java:264)
at x.s$a.f(RequestFactory.java:2)
at x.s$a.b(RequestFactory.java:12)
at x.s.b(RequestFactory.java:1)
at x.v.b(ServiceMethod.java:1)
at x.u.c(Retrofit.java:4)
at x.u$a.invoke(Retrofit.java:6)
at java.lang.reflect.Proxy.invoke(Proxy.java:913)
at $Proxy5.e(Unknown Source)
at z.b.a.k.i0.g.a(UserRestClient.kt:4)
at zendesk.conversationkit.android.internal.user.a.B(UserActionProcessor.kt:8)
at zendesk.conversationkit.android.internal.user.a.c(UserActionProcessor.kt:1)
at zendesk.conversationkit.android.internal.user.a$c.invokeSuspend(Unknown Source:12)
at s.w.j.a.a.resumeWith(ContinuationImpl.kt:4)
at kotlinx.coroutines.c1.run(DispatchedTask.kt:22)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.NoSuchFieldException: CONVERSATION_START
at java.lang.Class.getField(Class.java:1601)
at m.i.a.u$l.<init>(StandardJsonAdapters.java:7)
at m.i.a.u$c.a(StandardJsonAdapters.java:23)
at m.i.a.t.f(Moshi.java:15)
at zendesk.conversationkit.android.internal.rest.model.CreateConversationRequestDtoJsonAdapter.<init>(CreateConversationRequestDtoJsonAdapter.kt:4)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
at m.i.a.x.b.d(Util.java:12)
at m.i.a.u$c.a(StandardJsonAdapters.java:21)
at m.i.a.t.f(Moshi.java:15)
at m.i.a.t.e(Moshi.java:1)
at x.z.a.a.c(MoshiConverterFactory.java:1)
at x.u.e(Retrofit.java:7)
at x.u.g(Retrofit.java:1)
at x.s$a.g(RequestFactory.java:264)
at x.s$a.f(RequestFactory.java:2)
at x.s$a.b(RequestFactory.java:12)
at x.s.b(RequestFactory.java:1)
at x.v.b(ServiceMethod.java:1)
at x.u.c(Retrofit.java:4)
at x.u$a.invoke(Retrofit.java:6)
at java.lang.reflect.Proxy.invoke(Proxy.java:913)
at $Proxy5.e(Unknown Source)
at z.b.a.k.i0.g.a(UserRestClient.kt:4)
at zendesk.conversationkit.android.internal.user.a.B(UserActionProcessor.kt:8)
at zendesk.conversationkit.android.internal.user.a.c(UserActionProcessor.kt:1)
at zendesk.conversationkit.android.internal.user.a$c.invokeSuspend(Unknown Source:12)
at s.w.j.a.a.resumeWith(ContinuationImpl.kt:4)
at kotlinx.coroutines.c1.run(DispatchedTask.kt:22)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) -
Had this issue before. Try updating your proguard rules. This is what worked for us:
```...
# Zendesk
-keepnames class zendesk.** { *; }...
``` -
Luis Cruz Your suggested solution wasn't helpful to me.
Dev Dizraptor Did you find a solution?
Iniciar sesión para dejar un comentario.
3 Comentarios