【发布时间】:2018-08-20 15:06:31
【问题描述】:
从 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 缺失有关?如果是这样,如何正确处理它,而不导致这些设备崩溃?
--- 更新---
项目构建.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
}
应用构建.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'
【问题讨论】:
-
请为您的两个
build.gradle文件添加内容。 -
发生异常的设备的API级别是多少?我在 API 28 上看到了这个问题。
-
不同的 API 级别面临这个问题。从 Android 5.1.1 到 Android 8。但主要是 Android 6。
-
这也发生在我身上。
-
您好!我来自 Firebase 性能监控团队。我有几个问题可以帮助我们找出这个错误在哪里。 1. 在 android studio 或通过 crashlytics 的生产应用程序上运行时,您是否看到此问题? 2.如果是crashlytics,你用Android App Bundles吗(developer.android.com/platform/technology/app-bundle)
标签: android firebase google-play-services firebase-performance