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?
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.