web-dev-qa-db-fra.com

Impossible d'accéder au fichier de classe zzbfm zzbfm introuvable, firebase, android?

J'ai intégré des services de jeu et une base de feu dans mon application. Lorsque j'exécute l'application, j'obtiens cette erreur

cannot access zzbfm
class file for com.google.Android.gms.internal.zzbfm not found

C'est mon diplôme de haut niveau

buildscript {

repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.Android.tools.build:gradle:3.1.2'


    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath 'com.google.gms:google-services:4.0.1'
}
}

allprojects {
repositories {
    google()
    jcenter()
}
tasks.withType(JavaCompile) { options.deprecation = true }
}

task clean(type: Delete) {
delete rootProject.buildDir
}

Ceci est mon niveau d'application

apply plugin: 'com.Android.application'
Android {
compileSdkVersion 27
defaultConfig {
    applicationId "ima.rvtech"
    minSdkVersion 23
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:27.0.2'
implementation 'com.Android.support:design:27.0.2'
implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
implementation 'com.Android.support:support-v4:27.0.2'
implementation 'com.google.Android.gms:play-services-location:15.0.1'
implementation 'com.google.firebase:firebase-core:16.0.0'
implementation 'com.google.firebase:firebase-auth:11.6.2'
implementation 'com.google.firebase:firebase-messaging:11.8.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.2'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.dagger:dagger:2.16'
annotationProcessor 'com.google.dagger:dagger-compiler:2.16'
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
implementation 'com.github.bumptech.glide:glide:4.6.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
implementation 'io.reactivex.rxjava2:rxjava:2.1.13'
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
implementation 'com.balsikandar.Android:crashreporter:1.0.9'
implementation "Android.Arch.persistence.room:runtime:1.0.0"
annotationProcessor "Android.Arch.persistence.room:compiler:1.0.0"
}

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

J'obtiens l'erreur pointée dans ma classe MessageService pointant lorsque j'essaye d'obtenir un message distant

public class FCMMessageService extends FirebaseMessagingService {

@Override
public void onMessageReceived(RemoteMessage message) {
    sendMyNotification(message.getNotification().getBody());
}


private void sendMyNotification(String message) {

    //On click of notification it redirect to this Activity
    Intent intent = new Intent(this, ActivityHome.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);

    Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this,"x")
            .setSmallIcon(R.mipmap.ic_launcher)
            .setContentTitle("My Firebase Push notification")
            .setContentText(message)
            .setAutoCancel(true)
            .setSound(soundUri)
            .setContentIntent(pendingIntent);

    NotificationManager notificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    notificationManager.notify(0, notificationBuilder.build());
}
}

J'ai déjà vérifié les solutions mentionnées dans d'autres questions, mais aucune de ces réponses n'a fonctionné.

Toute solution?

7
WISHY

Vous ne pouvez pas mélanger les versions <= 12 et versions> = 15 des bibliothèques Firebase.

implementation 'com.google.firebase:firebase-core:16.0.0'
implementation 'com.google.firebase:firebase-auth:11.6.2'
implementation 'com.google.firebase:firebase-messaging:11.8.0'

La solution la plus simple consiste à les mettre à niveau vers la version 16 ou ultérieure:

implementation 'com.google.firebase:firebase-core:16.0.0'
implementation 'com.google.firebase:firebase-auth:16.0.1'
implementation 'com.google.firebase:firebase-messaging:17.0.0'

Toutes ces versions proviennent de la documentation configuration de Firebase pour Android , alors assurez-vous de vérifier les dernières mises à jour.

Contexte: Dans la version 12 et inférieure, les versions de toutes les bibliothèques Firebase (et Play Services) d'un projet devaient être exactement les mêmes. Dans la version 15 ultérieure, vous pouvez mélanger les versions. Mais il n'y a aucun moyen de mélanger <= 12 et> = 15 bibliothèques dans un seul projet.

12