无法在Firebase应用中禁用Crashlytics(不再)

时间:2017-10-22 19:52:37

标签: firebase crashlytics crashlytics-android

升级到for (int i = 0; i < myList.size(); ++i) { myList.set(i, myList.get(i) + 5); } (从2.6.8开始)后,我无法在我的Firebase应用中禁用Crashlytics。

看起来Crashlytics库中有一些代码,只要检测到它在Firebase应用程序中运行,就会使用Crashlytics工具包启用初始化Fabric。确实在启用了Crashlytics并使用com.crashlytics.sdk.android:crashlytics:2.7.1@aar初始化时会抛出UnmetDependencyException并在启动时崩溃应用程序(事实上,在ext.enableCrashlytics = false中的代码运行之前)。

有人知道解决方法吗?坚持2.6.8现在工作。 这是我在我的代码中使用的,直到升级为止:

应用程序/的build.gradle:

Application.onCreate

Application.java(onCreate,请求的完整方法体):

ext.enableCrashlytics = false

3 个答案:

答案 0 :(得分:32)

根据迈克的回答,即时添加我的代码:

<强>摇篮:

buildTypes {
   release {
        manifestPlaceholders = [crashlyticsEnabled: true]
    }

    debug {
        manifestPlaceholders = [crashlyticsEnabled: false]
    }
}

<强>的Manifest.xml:

<meta-data
    android:name="firebase_crashlytics_collection_enabled"
    android:value="${crashlyticsEnabled}" />

答案 1 :(得分:23)

Mike来自Fabric。使用:

<meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" />

如果您想在使用Firebase时禁用Crashlytics。

答案 2 :(得分:0)

伴随着答案之上的奇迹,

如果您要在代码中的某个位置设置Firebase崩溃属性,请确保不要将其设置为调试代码,否则您可能会注意到该应用程序的异常行为。

   if (!BuildConfig.DEBUG) {
       Crashlytics.setUserIdentifier(DataStore.storeId)
   }