我有一个包含多个模块的项目。模块的公共代码位于库模块中。问题是我们最近将Crashlytics添加到我们的项目中(在库模块中),即使我们处于调试模式,我们仍然会收到错误报告。我在互联网上搜索,发现一个库总是被视为一种发布模式。现在我的问题是,有没有办法在我的情况下禁用Crashlytics?
由于
答案 0 :(得分:12)
在我的应用程序(单个模块,多种口味)中,我检测到味道,并且只在我想要的口味中初始化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());
}
答案 1 :(得分:6)
假设您从主模块启用Crashlytics / Fabric(被识别为处于调试状态),只需有条件地初始化它,使其在调试模式下不会激活。
e.g
if (!BuildConfig.DEBUG) {
Fabric.with(this, new Crashlytics());
}