我有一个包含多个模块的项目。模块的通用代码在库模块中。问题是,我们最近在项目中(库模块中)添加了Crashlytics,即使在调试模式下,我们仍然会收到错误报告。
我在互联网上搜索后发现,图书馆始终被视为发布模式。现在我的问题是,有没有一种方法可以禁用Crashlytics?
在我的应用程序(一个模块,多个样式)中,我检测到样式,并仅在所需样式中初始化Crashlytics。
就我而言,我将一个变量添加到build.gradle中的代码中,如下所示:
productFlavors {
Dev { // i.e. gradlew assembleDevDebug
buildConfigField 'Boolean', 'enableCrashlytics', 'false'
}
Qa { // i.e. gradlew assembleQaDebug
buildConfigField 'Boolean', 'enableCrashlytics', 'true'
}
}
然后,在我的Application类中,我有条件地启动了Crashlytics:
if(BuildConfig.enableCrashlytics == true) {
Fabric.with(this, new Crashlytics());
}
假设您从主模块中启用了Crashlytics / Fabric(已被识别为处于调试状态),只需有条件地对其进行初始化,以使其在调试模式下不会激活。
例如
if (!BuildConfig.DEBUG) {
Fabric.with(this, new Crashlytics());
}