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

问题描述 投票:4回答:2

我有一个包含多个模块的项目。模块的通用代码在库模块中。问题是,我们最近在项目中(库模块中)添加了Crashlytics,即使在调试模式下,我们仍然会收到错误报告。

我在互联网上搜索后发现,图书馆始终被视为发布模式。现在我的问题是,有没有一种方法可以禁用Crashlytics?

android module crashlytics
2个回答
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());
}

6
投票

假设您从主模块中启用了Crashlytics / Fabric(已被识别为处于调试状态),只需有条件地对其进行初始化,以使其在调试模式下不会激活。

例如

if (!BuildConfig.DEBUG) {
    Fabric.with(this, new Crashlytics()); 
}
© www.soinside.com 2019 - 2024. All rights reserved.