【问题标题】:Proper way to initialize Fabric.io for debugging/release初始化 Fabric.io 以进行调试/发布的正确方法
【发布时间】:2026-01-13 20:50:01
【问题描述】:

来自 Fabric.io 的关于 Crashlytics 的简短问题:

要在调试中禁用它,我们是否仍然使用:

 Crashlytics crashlytics = new Crashlytics.Builder().disabled(BuildConfig.DEBUG).build();
        Fabric.with(this, crashlytics);

或者 Fabric 是否处理调试/发布差异,我们应该只使用:

Fabric.with(this, new Crashlytics());

disabled 方法已被弃用,如果您在 Android Studio 中使用 Fabric 插件,它总是将 crashlytics 实例更改为 new Crashlytics()

【问题讨论】:

    标签: android crashlytics fabric.io


    【解决方案1】:

    另一种选择是拥有应用程序的调试版本:https://www.littlerobots.nl/blog/stetho-for-android-debug-builds-only/

    基本上,您需要在debug 文件夹中拥有Application 的调试版本、Fabric 的可调试版本以及用于解决您的 DebugApp 的清单文件:

    <manifest
        package="com.mycompany"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools">
    
        <application
            tools:replace="android:name"
            android:name=".DebugApp"/>
    
    </manifest>
    

    【讨论】:

      【解决方案2】:

      对于新的 2.3.+ 版本,您应该使用如下内容:

      Fabric.with(this, new Crashlytics.Builder()
                  .core(new CrashlyticsCore.Builder()
                          .disabled(BuildConfig.DEBUG)
                          .build())
                  .build());
      

      【讨论】:

      • 如何禁用答案?上面类似的,我试过了,但它无法为调试构建禁用
      • @NaveenKumarM 是否能够禁用调试版本的答案
      • 是 @ismailqbal 使用此代码 if(!BuildConfig.DEBUG) { Fabric.with(this, new Crashlytics()); }
      【解决方案3】:

      试试这个。

      Fabric.Builder.debuggable(boolean)
      

      Java 文档 API Crashlytics

      setDebugMode(布尔调试) 已弃用。 改用 Fabric.Builder.debuggable(boolean)

      更新

      欲了解更多信息,请访问SO - CrashLytics Deprecated

      【讨论】:

        最近更新 更多