android – 无法为DEBUG版本禁用Fabric的Crashlytics with Firebase
作者:互联网
我有一个应用程序,通过Firebase使用Fabric的Crashlytics.
以下是我的Applications onCreate中执行的第一件事
CrashlyticsCore crashlyticsCore = new CrashlyticsCore.Builder()
.disabled(BuildConfig.DEBUG)
.build();
Fabric.with(this, new Crashlytics.Builder().core(crashlyticsCore).build());
尽管如此,崩溃仍以DEBUG == true模式提交.
我使用以下版本
在我的build.gradle中
classpath“io.fabric.tools:gradle:1.25.1”
在我的app / build.gradle中
实施“com.crashlytics.sdk.android:crashlytics:2.9.1”
不幸的是,崩溃仍然有报道.任何想法,我做错了什么?
解决方法:
Firebase Crashlytics documentation解释说,一旦在应用会话中启用了报告,就无法禁用它.
默认情况下,在创建Application实例之前执行的名为CrashlyticsInitProvider的ContentProvider中启用Crashlytics报告. CrashlyticsInitProvider根据元数据值firebase_crashlytics_collection_enabled启用或禁用报告,默认情况下为true.
如果要禁用报告,则清单元数据必须存在并设置为false至关重要:
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />
在应用程序初始化期间查看logcat中的消息:
CrashlyticsInitProvider: CrashlyticsInitProvider initialization successful
如果消息存在,则firebase_crashlytics_collection_enabled为true.如果消息不存在,则表示您已成功设置元数据以禁用崩溃报告.
如果元数据丢失或设置为true,则无法通过调用Fabric.with(…)来禁用代码中的报告.
在对另一个答案的评论中,您表明您尝试使用元数据禁用报告但未成功.检查输入错误并确保声明正确放在< application>中元件.在我的测试中,我能够使用元数据禁用报告,然后在运行时启用.
标签:google-fabric,crashlytics-android,android,firebase,crashlytics 来源: https://codeday.me/bug/20190930/1835526.html