将最新的Smooch版本(4.0.5)与Google Play服务9.6.1

时间:2016-10-31 09:06:35

标签: android firebase google-play-services smooch

我在Android应用程序中实现Smooch,我使用最新版本的Smooch(4.0.5),在我的应用程序中,我使用Google Play服务v9.6.1。当我开始时,应用程序崩溃了。

在Application类中:

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.access$1800(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 Play服务v9.6.1不兼容。那么如何解决此崩溃问题(由于某些原因,我无法在我的应用中降级Google Play服务)

1 个答案:

答案 0 :(得分:2)

使用不同版本的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
}