如何启用Firebase崩溃报告-Android

如何启用Firebase崩溃报告-Android,android,firebase,firebase-crash-reporting,Android,Firebase,Firebase Crash Reporting,我按照文档中的所有步骤在我的Android应用程序中使用Firebase崩溃报告(我使用Android Studio,一切都是最新的) 我使用他们自己的代码抛出一个异常,看看它是否有效: try { throw new NullPointerException(); } catch (NullPointerException ex) { FirebaseCrash.logcat(Log.ERROR, TAG, "NPE caught"); Fireba

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

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

try {
    throw new NullPointerException();
} catch (NullPointerException ex) {
    FirebaseCrash.logcat(Log.ERROR, TAG, "NPE caught");
    FirebaseCrash.report(ex);
}
控制台给了我这个日志:

E/main活动:捕获NPE

V/Firebase崩溃:禁用Firebase崩溃报告

这是一个版本,格雷德尔

// 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
}
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'
这是另一个版本

// 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
}
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小时,所以在更新之前,我不知道是否有效

那么,问题是我如何才能启用它

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


非常感谢您的帮助。

请注意以下几点:

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

    报告(新的异常(“我的第一个Android非致命错误”)

  • 错误最多需要20分钟才能显示在崩溃报告控制台中。回头看看你的报告

  • (这似乎很明显,但)确保您拥有:
    互联网和访问网络状态
    权限


在我的应用程序中正确设置崩溃报告后,它对我也不起作用。为了解决这个问题,我访问了我的开发人员控制台API Manager,并启用了“移动崩溃和性能报告API”。要了解您需要在何处执行此操作,请按照上的步骤进行操作


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

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

应用程序级别的build.gradle(//build.gradle):

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

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

查看使用firebase的教程以获得完整的指导。

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

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

      dependencies {
        // ...
        classpath 'com.google.firebase:firebase-plugins:1.0.5'
      }
    }

你应该给点时间来。尽管报告称错误将在5分钟内出现,但可能需要15-20分钟。此外,如果使用本机开发,则必须通过迁移将旧模块更改为AndroidX。最后,确保所有工具和插件都添加到相应的Gradle文件中。

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

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

来源:

您是否也添加了google-services.json文件?是的,在添加应用程序时,我遵循了文档和控制台上的所有步骤。您可以编辑问题以包括您的gradle文件以及您调用Firebase方法的任何其他位置吗?设备或模拟器必须安装google Play services 9.0.x。如果您的设备具有Google Play services 8.9.25,则Firebase崩溃报告和Firebase分析将无法工作。一旦设备/仿真器更新到最新版本的Google Play services,它应该可以正常工作。请检查。它有完整详细的解释。您好,谢谢,我知道,当人们在评论中帮助我时,这个故障是由Android N emulator上过时的Google Play服务造成的,我期待着更新它,但似乎不可能。它可能会超过20分钟。我刚刚收到了
V/FA-SVC:Upload,预定时间约为ms:1264312
,约为21分钟,我在日志中也看到了22分钟。所以给点时间吧不幸的是,似乎没有办法冲水。尽管报告部分似乎真的坏了——对我来说,它只是随机工作。大约20次刷新中只有1次。大多数的测试只是说“我们刚刚发现了一个错误!我们正在处理错误数据,很快就会向您显示。”呃,他们说在文档
中,错误显示需要1-2分钟时间
:Hi@yaircarreno。只是想验证是否确实需要
互联网
访问网络状态
权限?如果有,您有任何参考资料吗?:)我在快速入门中查找崩溃报告,但没有添加任何内容。还是缺少文件?谢谢!:)我在任何devoper控制台中都找不到“移动崩溃和性能报告API”。您是否按照我建议的步骤(在链接中)生成崩溃,从而为您提供访问此屏幕所需的确切url?单击该按钮,它将带您进入无法找到的屏幕。如果你找不到这个,不要责怪我,也不要投票否决我——我不为谷歌工作,所以我不负责!这也是我的问题,不知道为什么Firebase崩溃文档中根本没有记录(可能是因为它是测试版)。日志中的URL为:>