手动启用Firebase Crashlytics不会报告崩溃

时间:2018-12-11 13:16:18

标签: android firebase crashlytics google-fabric crashlytics-android

Crashlytics在没有选择加入报告的情况下也可以正常工作。但是,一旦我根据tutorial设置了启用加入报告后,它就会停止报告任何内容。

具体地说,我在AndroidManifest.xml

中添加了以下内容
<meta-data
    android:name="firebase_crashlytics_collection_enabled"
    android:value="false" />

然后我在onCreate中添加了以下内容:

 Fabric.with(this, Crashlytics())

使用调试器,我确定上面的行已执行。

但是,没有任何报告给Crashlytics。相反,记录器会给出以下信息,

D/Fabric: Falling back to Crashlytics key lookup from Manifest
D/Fabric: Falling back to Crashlytics key lookup from Strings
D/Fabric: Generating Crashlytics ApiKey from google_app_id in Strings
D/Fabric: Using AdvertisingInfo from Preference Store
D/Fabric: Falling back to Crashlytics key lookup from Manifest
D/Fabric: Falling back to Crashlytics key lookup from Strings
D/Fabric: Build ID is: ...
D/CrashlyticsCore: Crashlytics is disabled, because data collection is disabled by Firebase.
D/Fabric: Initializing io.fabric.sdk.android:fabric [Version: 1.4.6.29], with the following kits:
    com.crashlytics.sdk.android:crashlytics [Version: 2.9.7.29]
    com.crashlytics.sdk.android:beta [Version: 1.2.10.27]
    com.crashlytics.sdk.android:answers [Version: 1.4.5.29]
    com.crashlytics.sdk.android.crashlytics-core [Version: 2.6.6.29]
D/Fabric: Not fetching settings, because data collection is disabled by Firebase.
D/Fabric: Falling back to Crashlytics key lookup from Manifest
D/Fabric: Falling back to Crashlytics key lookup from Strings
D/Fabric: Build ID is: ...
D/Fabric: Analytics collection disabled, because data collection is disabled by Firebase.
D/Fabric: Could not get parcel from Google Play Service to capture AdvertisingId
D/Fabric: Could not get parcel from Google Play Service to capture Advertising limitAdTracking
D/Fabric: AdvertisingInfo not present
D/Fabric: Asychronously getting Advertising Info and storing it to preferences

我注意到了这一有趣的行:D/CrashlyticsCore: Crashlytics is disabled, because data collection is disabled by Firebase.,这可能是问题的原因。但是我找不到有关此日志的任何信息。

6 个答案:

答案 0 :(得分:9)

Firebase Crashlytics 2.9.7存在一个问题,该问题阻止了文档中所述的选择加入报告正常工作:将不会执行从代码开始的Crashlytics。 暂时降级到2.9.6将使您的代码正常工作。

答案 1 :(得分:2)

请按照此答案 https://stackoverflow.com/a/59906454/6743289

对于那些希望在未使用fibre.io的crashlytics的情况下为Android应用程序使用crashlytics的人,可以在上面的链接中找到FirebaseApp初始化方式的某些更改。

答案 2 :(得分:1)

对Android使用以下依赖项。
将其粘贴到 build.gradle 应用程序中:

implementation('com.crashlytics.sdk.android:crashlytics:2.9.6@aar') {
transitive = true
}

将其从2.9.5升级到2.9.6。
它对我有用。

答案 3 :(得分:0)

Crashlytics 2.9.8已发布,它修复了该错误。我已经测试确认。 changelog

  

2.9.8 2018年12月21日

     
      
  • 修复了带有firebase_crashlytics_collection_enabled标志的错误,该错误在某些情况下错误地禁用了数据收集。
  •   

答案 4 :(得分:0)

未在任何地方提及应用程序的初始化以在我们的控制台上获取 crashlytics 报告!

步骤 1。首先按照官方文档的链接包含那里提供的所有依赖项,并通过 firebase 控制台设置您的 firebase 应用。

第 2 步。现在在您的基本应用程序类或基本活动类中执行以下初始化。

FirebaseApp.initializeApp(getApplicationContext()); FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true); 现在清理您的项目并执行几次强制崩溃,您应该能够在 Firebase 控制台上看到您的 crashlytics 报告

答案 5 :(得分:-1)

将此行添加到Application类

Fabric.with(this, Crashlytics())