Search code examples
androidquickblox

java.lang.NoSuchMethodError: No direct method at com.google.android.gms.iid.InstanceID.zza


Error :

java.lang.NoSuchMethodError: No direct method (Landroid/content/Context;)V in class Lcom/google/android/gms/iid/zzd; or its super classes (declaration of 'com.google.android.gms.iid.zzd' appears in /data/app/com.app-1/base.apk:classes33.dex) at com.google.android.gms.iid.InstanceID.zza(Unknown Source) at com.google.android.gms.iid.InstanceID.getInstance(Unknown Source) at com.quickblox.messages.services.a.c.(Unknown Source)

Gradle

qbSdkVersion = '3.3.1'

versionName = '3.3.0'

testRunnerVersion = "0.4.1"


// Dependency versions
playServicesVersion = '10.2.1'
supportV4Version = '23.1.1'
appcompatV7Version = '23.1.1'
recyclerviewV7Version = '23.2.1'
supportAnnotationsVersion = '23.1.1'
designVersion = '23.1.1'

uilVersion = '1.9.0'
glideVersion = '3.6.1'
pullToRefreshVersion = '3.2.3'
stickyListHeaders = '2.7.0'
robotoTextViewVersion = '2.4.3'
stickersVersion = '0.7.3'
crashlyticsVersion = '2.2.2'

Solution

  • I had similar issue when I used in my project android-support libs or play-services libs with different versions, check it in your project (you can see it in Android Studio in part 'External Libraries'). In QuickBlox Android SDK (v3.3.1) used play-services version 10.2.1 and support libs version 23.1.1. If you use firebase in your project, it version must be same with play-services version. Additionally check versions this libs in others modules in your project. Also check, maybe other libs from your dependencies use support libs or play-services libs with different versions with your project.