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

Lau*_*ura 3 android module crashlytics

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

谢谢

Gre*_*eek 12

在我的应用程序(单个模块,多种口味)中,我检测到了味道,并且只在我想要的口味中初始化Crashlytics.

在我的例子中,我在build.gradle中添加了一个变量,如下所示:

productFlavors {
        Dev { // i.e. gradlew assembleDevDebug
            buildConfigField 'Boolean', 'enableCrashlytics', 'false'
        }

        Qa { // i.e. gradlew assembleQaDebug
            buildConfigField 'Boolean', 'enableCrashlytics', 'true'
        }
}
Run Code Online (Sandbox Code Playgroud)

然后,在我的Application类中,我有条件地启动Crashlytics:

if(BuildConfig.enableCrashlytics == true) {
   Fabric.with(this, new Crashlytics());
}
Run Code Online (Sandbox Code Playgroud)


Kuf*_*ffs 6

假设您从主模块启用Crashlytics/Fabric(被识别为在调试中),只需有条件地初始化它,使其在调试模式下不会激活.

例如

if (!BuildConfig.DEBUG) {
    Fabric.with(this, new Crashlytics()); 
}
Run Code Online (Sandbox Code Playgroud)