【发布时间】:2019-07-17 14:05:42
【问题描述】:
我正在尝试在我的 Android 应用程序中集成 Firebase InApp 消息传递。在 gradle 中添加以下依赖项后 实施'com.google.firebase:firebase-inappmessaging-display:18.0.2'
抛出以下错误: 致命异常:RxCachedThreadScheduler-1 io.reactivex.exceptions.UndeliverableException:无法将异常传递给消费者,因为它已经取消/处理了流程,或者异常无处可去。进一步阅读:https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling | java.lang.NoClassDefFoundError: com.google.common.base.CharMatcher 在 io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:367) 在 io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:69) 在 io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) 在 java.util.concurrent.FutureTask.run(FutureTask.java:237) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:154) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 在 java.lang.Thread.run(Thread.java:818) 引起:java.lang.NoClassDefFoundError: com.google.common.base.CharMatcher 在 com.google.common.base.Splitter.on(Splitter.java:125) 在 io.grpc.internal.GrpcUtil.(GrpcUtil.java:203) 在 io.grpc.internal.AbstractManagedChannelImplBuilder.(AbstractManagedChannelImplBuilder.java:84) 在 io.grpc.okhttp.OkHttpChannelBuilder.forTarget(OkHttpChannelBuilder.java:119) 在 io.grpc.okhttp.OkHttpChannelProvider.builderForTarget(OkHttpChannelProvider.java:48) 在 io.grpc.okhttp.OkHttpChannelProvider.builderForTarget(OkHttpChannelProvider.java:27) 在 io.grpc.ManagedChannelBuilder.forTarget(ManagedChannelBuilder.java:73) 在 com.google.firebase.inappmessaging.internal.injection.modules.GrpcChannelModule.providesGrpcChannel(com.google.firebase:firebase-inappmessaging@@18.0.2:41) 在 com.google.firebase.inappmessaging.internal.injection.modules.GrpcChannelModule_ProvidesGrpcChannelFactory.providesGrpcChannel(com.google.firebase:firebase-inappmessaging@@18.0.2:36) 在 com.google.firebase.inappmessaging.internal.injection.modules.GrpcChannelModule_ProvidesGrpcChannelFactory.get(com.google.firebase:firebase-inappmessaging@@18.0.2:26) 在 com.google.firebase.inappmessaging.internal.injection.modules.GrpcChannelModule_ProvidesGrpcChannelFactory.get(com.google.firebase:firebase-inappmessaging@@18.0.2:9) 在 dagger.internal.DoubleCheck.get(DoubleCheck.java:47) 在 com.google.firebase.inappmessaging.internal.injection.components.DaggerUniversalComponent.gRPCChannel(com.google.firebase:firebase-inappmessaging@@18.0.2:280) 在 com.google.firebase.inappmessaging.internal.injection.components.DaggerAppComponent$com_google_firebase_inappmessaging_internal_injection_components_UniversalComponent_gRPCChannel.get(com.google.firebase:firebase-inappmessaging@@18.0.2:437) 在 com.google.firebase.inappmessaging.internal.injection.components.DaggerAppComponent$com_google_firebase_inappmessaging_internal_injection_components_UniversalComponent_gRPCChannel.get(com.google.firebase:firebase-inappmessaging@@18.0.2:424) 在 com.google.firebase.inappmessaging.internal.injection.modules.GrpcClientModule_ProvidesInAppMessagingSdkServingStubFactory.get(com.google.firebase:firebase-inappmessaging@@18.0.2:35) 在 com.google.firebase.inappmessaging.internal.injection.modules.GrpcClientModule_ProvidesInAppMessagingSdkServingStubFactory.get(com.google.firebase:firebase-inappmessaging@@18.0.2:11) 在 dagger.internal.DoubleCheck.get(DoubleCheck.java:47) 在 com.google.firebase.inappmessaging.internal.GrpcClient_Factory.get(com.google.firebase:firebase-inappmessaging@@18.0.2:23) 在 com.google.firebase.inappmessaging.internal.GrpcClient_Factory.get(com.google.firebase:firebase-inappmessaging@@18.0.2:8) 在 dagger.internal.DoubleCheck.get(DoubleCheck.java:47) 在 com.google.firebase.inappmessaging.internal.ApiClient.getFiams(com.google.firebase:firebase-inappmessaging@@18.0.2:8)
这适用于其他 Android 操作系统,已通过 7.0、8.0 和 9.0 验证。 注意:已添加 androidx 支持。
这些是我的 gradle 依赖项:
implementation 'com.google.android.gms:play-services-analytics:17.0.0'
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.media:media:1.0.1'
implementation 'androidx.vectordrawable:vectordrawable-animated:1.0.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.guava:guava:28.0-jre'
//noinspection GradleDependency
implementation 'com.google.dagger:dagger:2.21'
//noinspection GradleDependency
kapt 'com.google.dagger:dagger-compiler:2.21'
//noinspection GradleDependency,OutdatedLibrary
implementation 'com.google.dagger:dagger-android:2.21'
//noinspection GradleDependency
implementation 'com.google.dagger:dagger-android-support:2.21'
//noinspection GradleDependency
kapt 'com.google.dagger:dagger-android-processor:2.21'
compileOnly 'javax.annotation:jsr250-api:1.0'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
implementation 'com.squareup.retrofit2:adapter-rxjava:2.3.0'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.9.1'
implementation 'io.reactivex.rxjava2:rxjava:2.2.6'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'io.reactivex:rxandroid:1.2.1'
implementation 'io.reactivex:rxjava:1.3.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
有人遇到过这个吗?
【问题讨论】: