com.google.android.gms.internal.firebase-perf.zzw上的NoClassDefFoundError

从Firebase Crashlytics收到了大量的崩溃报告。 我认为这与firebase-perf有关。

Fatal Exception: java.lang.NoClassDefFoundError: com.google.android.gms.internal.firebase-perf.zzw at com.google.firebase.perf.metrics.Trace.start(Unknown Source:44) at com.google.android.gms.internal.firebase-perf.zze.onActivityStarted(Unknown Source:48) at android.app.Application.dispatchActivityStarted(Application.java:205) at android.app.Activity.onStart(Activity.java:1150) 

已经使用最新版本的Firebase和Google Play服务。

它不会在Firebase测试实验室中的设备上崩溃。 但约有1%的用户面临这个问题。

是否与缺少GMS Core有关? 如果是这样,如何正确处理它,不会导致这些设备崩溃?

—更新—

project build.gradle

 buildscript { repositories { google() maven { url 'https://maven.fabric.io/public' } jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.3.0-alpha04' classpath 'com.google.gms:google-services:4.0.1' // google-services plugin classpath 'com.google.firebase:firebase-plugins:1.1.5' classpath 'io.fabric.tools:gradle:1.25.4' } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } 

App build.gradle

 apply plugin: 'com.android.application' apply plugin: 'com.google.firebase.firebase-perf' apply plugin: 'com.google.android.gms.oss-licenses-plugin' apply plugin: 'io.fabric' android { compileSdkVersion 28 buildToolsVersion '28.0.2' useLibrary 'org.apache.http.legacy' defaultConfig { applicationId "MASKED" minSdkVersion 18 targetSdkVersion 28 versionCode "MASKED" versionName "MASKED" resConfigs "en" multiDexEnabled true vectorDrawables.useSupportLibrary = true dataBinding { enabled = true } } buildTypes { release { minifyEnabled true shrinkResources false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } lintOptions { abortOnError false textReport true textOutput 'stdout' checkReleaseBuilds false } } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') testImplementation 'junit:junit:4.12' implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0-rc01' implementation 'androidx.annotation:annotation:1.0.0-rc01' implementation 'androidx.appcompat:appcompat:1.0.0-rc01' implementation 'androidx.leanback:leanback:1.0.0-rc01' implementation 'androidx.cardview:cardview:1.0.0-rc01' implementation 'androidx.gridlayout:gridlayout:1.0.0-rc01' implementation 'androidx.multidex:multidex:2.0.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.2' implementation 'com.google.firebase:firebase-core:16.0.1' implementation 'com.google.firebase:firebase-ads:15.0.1' implementation 'com.google.firebase:firebase-config:16.0.0' implementation 'com.google.firebase:firebase-perf:16.0.0' implementation 'com.google.android.material:material:1.0.0-rc01' implementation 'com.google.android.gms:play-services-oss-licenses:16.0.0' implementation 'com.google.android:flexbox:1.0.0' implementation 'com.google.code.gson:gson:2.8.2' implementation 'com.crashlytics.sdk.android:crashlytics:2.9.4' } // ADD THIS AT THE BOTTOM apply plugin: 'com.google.gms.google-services' 

Firebase支持刚刚确认我这是一个错误。 他们现在正在研究这个问题(尽管他们还没有能够重现它)。 因此,我们应该期望在未来的Firebase版本中修复此问题。