Firebase Crashlytics 在手动启用时不报告崩溃
Firebase Crashlytics not reporting crashes when manually enabled
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.
这可能是问题的原因。但是我找不到关于这个日志的任何信息。
将此行添加到应用程序中 class
Fabric.with(this, Crashlytics())
Firebase Crashlytics 2.9.7 存在一个问题,阻止了文档中描述的选择加入报告的工作:不会执行从代码启动 Crashlytics。
目前降级到 2.9.6 将使您的代码能够正常工作。
Crashlytics 2.9.8 已发布,修复了该错误。我已经测试确认。 changelog:
2.9.8 December 21, 2018
- Fixed bug with firebase_crashlytics_collection_enabled flag that erroneously disabled data collection under some circumstances.
为 android 使用以下依赖项。
将其粘贴到 build.gradle app:
implementation('com.crashlytics.sdk.android:crashlytics:2.9.6@aar') {
transitive = true
}
将它从 2.9.5 升级到 2.9.6。
对我有用。
请关注这个答案
对于那些希望为他们的 android 应用程序使用 crashlytics 而尚未使用 fiber.io 的 crashlytics 的人,FirebaseApp 的初始化方式有一些变化,您可以在以上 link.
在我们的控制台上获取 crashlytics 报告的任何地方都没有提到应用程序的初始化!
步骤 1。首先按照官方文档的 link 来包含那里给出的所有依赖项,并通过 firebase 控制台设置你的 firebase 应用程序。
步骤 2。现在在您的基础应用程序 class 或基础 activity class.
中执行以下初始化
FirebaseApp.initializeApp(getApplicationContext());
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(真);
现在清理你的项目并强制崩溃几次,你应该能够在你的 firebase 控制台上看到你的 crashlytics 报告
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.
这可能是问题的原因。但是我找不到关于这个日志的任何信息。
将此行添加到应用程序中 class
Fabric.with(this, Crashlytics())
Firebase Crashlytics 2.9.7 存在一个问题,阻止了文档中描述的选择加入报告的工作:不会执行从代码启动 Crashlytics。 目前降级到 2.9.6 将使您的代码能够正常工作。
Crashlytics 2.9.8 已发布,修复了该错误。我已经测试确认。 changelog:
2.9.8 December 21, 2018
- Fixed bug with firebase_crashlytics_collection_enabled flag that erroneously disabled data collection under some circumstances.
为 android 使用以下依赖项。
将其粘贴到 build.gradle app:
implementation('com.crashlytics.sdk.android:crashlytics:2.9.6@aar') {
transitive = true
}
将它从 2.9.5 升级到 2.9.6。
对我有用。
请关注这个答案
对于那些希望为他们的 android 应用程序使用 crashlytics 而尚未使用 fiber.io 的 crashlytics 的人,FirebaseApp 的初始化方式有一些变化,您可以在以上 link.
在我们的控制台上获取 crashlytics 报告的任何地方都没有提到应用程序的初始化!
步骤 1。首先按照官方文档的 link 来包含那里给出的所有依赖项,并通过 firebase 控制台设置你的 firebase 应用程序。
步骤 2。现在在您的基础应用程序 class 或基础 activity class.
中执行以下初始化FirebaseApp.initializeApp(getApplicationContext()); FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(真); 现在清理你的项目并强制崩溃几次,你应该能够在你的 firebase 控制台上看到你的 crashlytics 报告