我有一个包含多个模块的项目。这些模块的通用代码在库模块中。问题是我们最近在项目中(在库模块中)添加了Crashlytics,即使我们处于Debug模式下,仍然会收到错误报告。
我在互联网上搜索并发现库模块总是被视为Release模式。那么我的问题是,是否有办法在我的情况下禁用Crashlytics?
我有一个包含多个模块的项目。这些模块的通用代码在库模块中。问题是我们最近在项目中(在库模块中)添加了Crashlytics,即使我们处于Debug模式下,仍然会收到错误报告。
我在互联网上搜索并发现库模块总是被视为Release模式。那么我的问题是,是否有办法在我的情况下禁用Crashlytics?
在我的应用程序中(一个单独的模块,多个变体),我检测变体,仅在我想要的变体中初始化Crashlytics。
在我的情况下,我在build.gradle中的变体中添加了一个变量,如下所示:
productFlavors {
Dev { // i.e. gradlew assembleDevDebug
buildConfigField 'Boolean', 'enableCrashlytics', 'false'
}
Qa { // i.e. gradlew assembleQaDebug
buildConfigField 'Boolean', 'enableCrashlytics', 'true'
}
}
然后,在我的应用程序类中,我有条件地启动Crashlytics:
if(BuildConfig.enableCrashlytics == true) {
Fabric.with(this, new Crashlytics());
}
if (!BuildConfig.DEBUG) {
Fabric.with(this, new Crashlytics());
}