Android-接入Firebase崩溃统计

简介

Firebase
支持捕获Android层和native层的异常信息
支持设置Non-fatals,统计重要性低一些的异常信息,用于分析

接入崩溃统计

模块的 build.gradle

plugins {
    id 'com.google.firebase.crashlytics'
}
dependencies {
implementation platform('com.google.firebase:firebase-bom:31.1.1')
implementation 'com.google.firebase:firebase-crashlytics-ktx'
}

根目录的 build.gradle

buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:4.3.13'
        // Add the dependency for the Crashlytics Gradle plugin
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.4'
    }
}

这样就搞定了,记得配置 google-services.json 文件

接入C层崩溃统计

在之前基础上 模块的 build.gradle

buildTypes {
      release {
          // Add this extension
          firebaseCrashlytics {
                // Enable processing and uploading of native symbols to Firebase servers.
                // By default, this is disabled to improve build speeds.
                // This flag must be enabled to see properly-symbolicated native
                // stack traces in the Crashlytics dashboard.
                nativeSymbolUploadEnabled true
                strippedNativeLibsDir 'build/intermediates/stripped_native_libs/release/out/lib'
                unstrippedNativeLibsDir 'build/intermediates/merged_native_libs/release/out/lib'
            }
       }
}

dependencies {
implementation 'com.google.firebase:firebase-crashlytics-ndk'
}

Non-fatals

登录失败,try catch 等异常的信息可以通过 Non-fatals 传上平台,用于分析

FirebaseCrashlytics.getInstance().recordException(e)

可以和项目 logUtils的工具类配置使用

fun w(e: Exception) {
    
    
   Log.w(TAG, e)
   //上报到FireBase
   FirebaseCrashlytics.getInstance().recordException(e)
}

资料

官方文档捕获C异常
https://stackoverflow.com/questions/65961515/gradleexception-crashlytics-could-not-determine-stripped-unstripped-native-libr

猜你喜欢

转载自blog.csdn.net/Android_yh/article/details/129722042