如何获取 Fabric crashlytics 的测试值和生产值?

How to get Test and Production values for Fabric crashlytics?

我使用该插件为 iOS 和 Android 应用程序安装了 Crashlytics。我注意到的一个不同之处在于 Fabric 提供的门户。 iOS 有两种环境,一种是测试(绿色图标),另一种是生产(正常图标)。 Android 不会这样做。

我试图通过在我的应用程序中添加以下内容来创建两个不同的环境 class

Fabric.with(this, new Crashlytics());
if (Constants.DEBUG) {
   Crashlytics.setString("version", "Production");
} else {
   Crashlytics.setString("version", "Test");
}

我以为这会创建两个不同的版本,但它没有做任何事情。如何为 Android 创建多个环境?提前致谢

除了Android中的签名外,release和debug没有区别。所以我认为这不会将那里的产品分开。但我所做的是,我有两种口味,一种是 dev,另一种是 main 口味,可以去 Google 玩。

Dev flavor 有不同的包名,这会在 Fabric 本身创建两个不同的产品,你不需要做任何事情,如果你用它们的包名将它们分开。

你可以用口味做点什么。

你可以这样使用:

root
 app
  src
    main
      java
        package
        Application.java
    debug
      java
        CrashLyticsSetup.java
    release
      java
        CrashLyticsSetup.java

在您的申请中:

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

debug/CrashLyticsSetup中:

public static void install(Application app){
  //do something
  Crashlytics.setString("version", "Test");
  //....
}

relaese/CrashLyticsSetup中:

public static void install(Application app){
  //do something
  Crashlytics.setString("version", "Production");
  //....
}

当然您可以自定义它,使用其他口味和其他设置。 此外,如果您想在调试时禁用 CrashLytycs,您可以使用:

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