Android 8或更高版本使用Firebase Performance SDK在Android Oreo上崩溃的应用程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 8或更高版本使用Firebase Performance SDK在Android Oreo上崩溃的应用程序相关的知识,希望对你有一定的参考价值。

我添加了最新的Firebase Performance SDK,并且在android 8(Oreo)或更高版本的应用程序崩溃时出现了从未添加的错误消息OnFrameMetricsAvailableListener。

App Level build.gradle

    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.2.0'
        classpath 'com.google.firebase:firebase-plugins:1.1.5'
    }

app Module Level build.gradle

dependencies {

    other
   ..............
   ..............

    // Android support
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.android.support:appcompat-v7:28.0.0'

    // Android Gms Play Services
    implementation 'com.google.android.gms:play-services-gcm:16.0.0'

    // Firebase
    implementation 'com.google.firebase:firebase-perf:16.2.2'
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-perf'

日志

    Caused by: java.lang.IllegalArgumentException: attempt to remove OnFrameMetricsAvailableListener that was never added
        at android.view.View.removeFrameMetricsListener(View.java:6862)
        at android.view.Window.removeOnFrameMetricsAvailableListener(Window.java:890)
        at android.support.v4.app.FrameMetricsAggregator$FrameMetricsApi24Impl.remove(FrameMetricsAggregator.java:436)
        at android.support.v4.app.FrameMetricsAggregator.remove(FrameMetricsAggregator.java:246)
        at com.google.firebase.perf.internal.zza.onActivityStopped(Unknown Source:64)
        at android.app.Application.dispatchActivityStopped(Application.java:258)
        at android.app.Activity.onStop(Activity.java:1950)
        at android.support.v4.app.FragmentActivity.onStop(FragmentActivity.java:636)
        at android.support.v7.app.AppCompatActivity.onStop(AppCompatActivity.java:184)
        at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1382)
        at android.app.Activity.performStop(Activity.java:7526)
        at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4591)
        at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4652) 
        at android.app.ActivityThread.-wrap5(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1784) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:7002) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408) 
答案

您需要将perf的版本从16降级到15.这个问题可能会在即将推出的新版本中修复。

implementation 'com.google.firebase:firebase-perf:15.+'

或者你可以从android:hardwareAccelerated="true"删除AndroidMainfest.xml线

以上是关于Android 8或更高版本使用Firebase Performance SDK在Android Oreo上崩溃的应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Android N 要求 IDE 运行 Java 1.8 或更高版本?

Android Studio 错误: -source 1.7 中不支持静态接口方法 (请使用 -source 8 或更高版本以启用静态接口方法)

不再支持源选项 5。使用 6 或更高版本的 Android Studio

使用 Android 5 或更高版本的个性化字体 - XML

此版本的 Android Studio 无法打开此项目,请使用 Android Studio 4.0 或更高版本重试

在 Android 4.0 或更高版本中禁用主页按钮 [重复]