Сообщение Firebase NoSuchMethodError.zzUr исключение

Я пытаюсь интегрировать FCM в проект android, как он написан в документации Firebase.

Мое приложение gradle:

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
...
compile 'com.android.support:multidex:1.0.0'
compile 'com.android.support:support-v4:20.0.0'
compile 'com.google.firebase:firebase-core:9.2.0'
compile 'com.google.firebase:firebase-config:9.2.0'
compile 'com.google.firebase:firebase-messaging:9.0.2'
compile 'com.google.firebase:firebase-crash:9.2.0'
compile 'com.google.android.gms:play-services-ads:9.2.0'
compile 'com.google.android.gms:play-services-analytics:9.2.0'
compile 'com.google.android.gms:play-services-games:9.2.0'
}

apply plugin: 'com.google.gms.google-services'

Manifest.xml:

<service
    android:name=".MyFirebaseMessagingService">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT"/>
    </intent-filter>
</service>

И MyFirebaseMesagingService:

public class MyFirebaseMessagingService extends FirebaseMessagingService {

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    Log.i("info", "From: " + remoteMessage.getFrom());
    Log.i("info", "Notification Message Body: " + remoteMessage.getNotification().getBody());
}

}

Но когда я посылаю push, я получаю:

java.lang.NoSuchMethodError: com.google.firebase.iid.FirebaseInstanceIdInternalReceiver.zzUr
                                                      at com.google.firebase.messaging.FirebaseMessagingService.zzz(Unknown Source)
                                                      at com.google.firebase.iid.zzb.onStartCommand(Unknown Source)
                                                      at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2805)
                                                      at android.app.ActivityThread.access$1900(ActivityThread.java:156)
                                                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1437)
                                                      at android.os.Handler.dispatchMessage(Handler.java:99)
                                                      at android.os.Looper.loop(Looper.java:153)
                                                      at android.app.ActivityThread.main(ActivityThread.java:5299)
                                                      at java.lang.reflect.Method.invokeNative(Native Method)
                                                      at java.lang.reflect.Method.invoke(Method.java:511)
                                                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                                                      at dalvik.system.NativeStart.main(Native Method)

Не удается Google. Кто-нибудь сталкивался с этим?

Ответы

Ответ 1

Попробуйте запустить все службы с той же версией. В этом случае измените:

compile 'com.google.firebase:firebase-messaging:9.0.2'

к

compile 'com.google.firebase:firebase-messaging:9.2.0'

и проверьте, не происходит ли такая же проблема.

Ответ 2

Измените версии firebase1 Это работает для меня!

Версии должны быть одинаковыми:

compile 'com.google.firebase:firebase-analytics:9.2.0'
compile 'com.google.firebase:firebase-messaging:9.2.0'
compile 'com.google.firebase:firebase-core:9.2.0'

Ответ 3

У меня проблема с той же проблемой и решить эту проблему, правильно настроив правила proguard.

Что я здесь сделал, как показано ниже:

Сначала я исключил классы google из обфускации, подобные этому в proguard-rules.pro:

-keep public class com.google.** {*;}

Вторым я включил этот minifyEnabled в build.gradle следующим образом:

    apply plugin: 'com.android.application'

    android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.e2e.quiz"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    }

    dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.squareup.picasso:picasso:2.4.0'
compile 'com.google.android.gms:play-services-gcm:9.2.1'
compile 'com.google.android.gms:play-services-analytics:9.2.1'
compile 'com.google.android.gms:play-services-ads:9.2.1'
compile project(':ast-dst')

}

Ответ 4

сохранить ту же версию библиотеки firebase-core и библиотеку сообщений firebase-обмена, изменив версию библиотеки firebase-messaging в сборке gradle

от

compile 'com.google.firebase:firebase-core:9.2.0'
compile 'com.google.firebase:firebase-messaging:9.0.2

в

compile 'com.google.firebase:firebase-core:9.2.0'
compile 'com.google.firebase:firebase-messaging:9.2.0'