Android禁用Crashlytics在库项目中进行调试

时间:2015-02-25 15:16:57

标签: android module crashlytics

我有一个包含多个模块的项目。模块的公共代码位于库模块中。问题是我们最近将Crashlytics添加到我们的项目中(在库模块中),即使我们处于调试模式,我们仍然会收到错误报告。我在互联网上搜索,发现一个库总是被视为一种发布模式。现在我的问题是,有没有办法在我的情况下禁用Crashlytics?

由于

2 个答案:

答案 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()); 
}