Search code examples
javaandroidgrpc

Failed resolution of: Lio/grpc/InternalGlobalInterceptors when update Google APIs on Samsung devices


when I upgrade one of the following libraries to the current version, I get the message during app start and the app crashes: NoClassDefFoundError: Failed resolution of: Lio/grpc/InternalGlobalInterceptors

I do not use GRPC in my app.

Implementation ‘com.google.http-client:google-http-client-gson:1.44.2’
Implementation ‘com.google.api-client:google-api-client-android:2.6.0’
Implementation ‘com.google.auth:google-auth-library-oauth2-http:1.24.0’
Implementation ‘com.google.api-client:google-api-client:2.6.0’
Implementation'com.google.apis:google-api-services-drive:v3-rev20220815-2.0.0'

I have already integrated the GRPC libraries, but the app still crashes with the error Looks like the problem just happens on Samsung devices.

Fatal Exception: io.reactivex.exceptions.UndeliverableException: java.lang.NoClassDefFoundError: Failed resolution of: Lio/grpc/InternalGlobalInterceptors;
   at io.reactivex.exceptions.UndeliverableException.<init>(UndeliverableException.java:34)
   at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:367)
   at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:69)
   at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
   at java.util.concurrent.FutureTask.run(FutureTask.java:264)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
   at java.lang.Thread.run(Thread.java:1012)

Thanks, GGK


Solution

  • I was able to solve my problem myself by analysing the dependency tree. in the com.google.firebase:firebase-inappmessaging-display the class io.grpc was listed.

    I have now removed io.grpc.

    implementation ("com.google.firebase:firebase-inappmessaging-display") {
        exclude group: "io.grpc"
    }
    

    GGK