Recent searches


No recent searches

Zendesk Messaging Android Crash



Posted Jun 09, 2022

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)

1

3

3 comments

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) 

0


Had this issue before. Try updating your proguard rules. This is what worked for us:

```

...

# Zendesk
-keepnames class zendesk.** { *; }

...
```

0


Luis Cruz Your suggested solution wasn't helpful to me.
Dev Dizraptor Did you find a solution?

0


Please sign in to leave a comment.

Didn't find what you're looking for?

New post