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.
,这可能是问题的原因。但是我找不到有关此日志的任何信息。
答案 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())