15

我按照文档上的所有步骤在我的 Android 应用程序中使用 Firebase 崩溃报告(我使用 Android Studio,一切都是最新的)。

我使用他们自己的代码抛出异常,看看它是否有效:

try {
    throw new NullPointerException();
} catch (NullPointerException ex) {
    FirebaseCrash.logcat(Log.ERROR, TAG, "NPE caught");
    FirebaseCrash.report(ex);
}

控制台给了我这个日志:

E/MainActivity:NPE 被抓

V/FirebaseCrash:Firebase 崩溃报告已禁用。

这是一个 build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'

        // Firebase - Google Services 3.0.0
        classpath 'com.google.gms:google-services:3.0.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

这是另一个 build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'android-N'
    buildToolsVersion '24.0.0-rc2'

    defaultConfig {
        applicationId "com.app.test"
        minSdkVersion 19
        targetSdkVersion 'N'
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            useProguard true
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:24.0.0-alpha1'
    compile 'com.android.support:appcompat-v7:24.0.0-alpha1'
    compile 'com.android.support:design:24.0.0-alpha1'
    compile 'com.google.firebase:firebase-core:9.0.0'
    compile 'com.google.firebase:firebase-analytics:9.0.0'
    compile 'com.google.firebase:firebase-crash:9.0.0'
    compile 'com.google.firebase:firebase-messaging:9.0.0'
    compile 'com.google.firebase:firebase-config:9.0.0'
    compile 'com.google.firebase:firebase-invites:9.0.0'
    compile 'com.google.android.gms:play-services-appindexing:9.0.0'
}

apply plugin: 'com.google.gms.google-services'

我也使用:

mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
FirebaseMessaging.getInstance().subscribeToTopic("news");
Log.d(TAG, "Subscribed to news topic");

我添加了我需要的所有依赖项,但是我一个一个地添加并一个一个地测试,并且通知工作,分析:不知道,大约需要 24 小时才能更新,所以在它更新之前,我不知道是否工作...

那么,问题是我该如何启用它?

注意:我添加了所有依赖项,包括崩溃核心依赖项,还有插件类路径

提前谢谢你。

4

6 回答 6

20

请注意以下事项:

  • 添加 SDK 后,您可以尝试使用:

    FirebaseCrash.report(new Exception("My first Android non-fatal error"));

  • 错误最多需要 20 分钟才会显示在崩溃报告控制台中。回来查看您的报告。

  • (这似乎很明显,但是)确保您拥有:INTERNET and ACCESS_NETWORK_STATE许可。

于 2016-05-29T15:37:45.727 回答
5

在我的应用程序中正确设置后,崩溃报告对我也不起作用。为了解决这个问题,我访问了我的开发者控制台 API Manager,并启用了“Mobile Crash and Performance Reporting API”。要准确了解您需要在哪里执行此操作,请按照此页面上的步骤操作。

如果您按照上面链接中的步骤操作,则带有文本“E/FirebaseCrashSenderServiceImpl:发送崩溃报告时出错”的 logcat 会为您提供一个 URL,您必须在控制台中访问以启用崩溃报告。

于 2016-06-15T01:30:36.270 回答
1

FirebaseCrash 已弃用。FirebaseCrashlytics.getInstance() 应改为使用:

FirebaseCrashlytics.getInstance().log(message)
FirebaseCrashlytics.getInstance().recordException(throwable)

资料来源:https ://firebase.google.com/docs/crashlytics/customize-crash-reports?platform=android#add-logs

于 2020-05-13T08:26:05.450 回答
0

我遇到过同样的问题。原来我在我的项目 gradle 文件中缺少依赖项。尝试添加这个。它应该有帮助。

buildscript {
      repositories {
        jcenter()
        // ...
      }

      dependencies {
        // ...
        classpath 'com.google.firebase:firebase-plugins:1.0.5'
      }
    }
于 2017-04-06T05:15:10.330 回答
0

你应该留出一些时间出现。即使文档说错误将在 5 分钟内出现,也可能需要 15-20 分钟。此外,如果您使用原生开发,则必须通过迁移将旧模块更改为 AndroidX。最后,确保所有工具和插件都添加到适当的 Gradle 文件中。

于 2020-04-19T11:04:14.027 回答
0

添加以下代码: 在项目级 build.gradle (/build.gradle) 中:

buildscript {
dependencies {

// Add this line
classpath 'com.google.gms:google-services:3.0.0'
}
}

在 App 级别的 build.gradle (//build.gradle) 中:

// Add to the bottom of the file
apply plugin: 'com.google.gms.google-services'


//Add following in In App-level build.gradle
compile 'com.google.firebase:firebase-crash:9.0.0'

现在同步您的项目,在您的活动中使用以下代码引发异常:

FirebaseCrash.report(new Exception("App Name : My first Android non-fatal error"));

检查使用 firebase 的android 崩溃报告教程以获得完整的指导。

于 2017-03-11T18:58:05.180 回答