使用带有 Google 播放服务 9.6.1 的最新 Smooch 版本 (4.0.5) 时应用程序崩溃

App crashes when using latest Smooch version (4.0.5) with Google play service 9.6.1

我在 Android 应用程序中实现 Smooch,我使用最新版本的 Smooch(4.0.5),在我的应用程序中,我使用 Google 播放服务 v9.6.1。应用程序在我启动时崩溃。

申请中class:

Smooch.init(this, BuildConfig.SMOOCH_APP_TOKEN);

这是崩溃日志:

java.lang.NoSuchMethodError: No static method zzb(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzab; or its super classes (declaration of 'com.google.android.gms.common.internal.zzab' appears in /data/app/com.***.***/base.apk) 

at com.google.firebase.provider.FirebaseInitProvider.zza(Unknown Source) 

at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 

at android.app.ActivityThread.installProvider(ActivityThread.java:6762) 

at android.app.ActivityThread.installContentProviders(ActivityThread.java:6357) 

at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6297) 

at android.app.ActivityThread.access00(ActivityThread.java:221) 

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1860) 

at android.os.Handler.dispatchMessage(Handler.java:102) 

at android.os.Looper.loop(Looper.java:158) 

at android.app.ActivityThread.main(ActivityThread.java:7224) 

at java.lang.reflect.Method.invoke(Native Method) 

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

我注意到 Smooch v4.0.5 使用的是 Firebase v9.4.0,它与 Google 播放服务 v9.6.1 不兼容。那么我该如何解决这个崩溃(由于某些原因我无法在我的应用程序中降级 Google 播放服务)

使用不同版本的 Firebase 和 Play 服务时存在已知问题。要解决此问题,您可以更新项目中的 Firebase 版本以与您的 Play 服务版本同步。在项目的 build.gradle 文件中包含 Firebase 依赖项并将两者设置为相同的版本,它将覆盖 Smooch 提供的版本。例如:

dependencies {
    compile 'com.google.android.gms:play-services:9.6.1'
    compile 'com.google.firebase:firebase-core:9.6.1'
    compile 'com.google.firebase:firebase-messaging:9.6.1'
    // other dependencies
}