最近,我们尝试从Fabric.io迁移到FirebaseCrashlytics。按照文档https://firebase.google.com/docs/crashlytics/upgrade-sdk?platform=android
中所述的步骤进行操作setCrashlyticsCollectionEnabled(!BuildConfig.DEBUG)
构建产品时,才更新代码并启用收集功能在那之后,当我们发现测试套件花费的时间比平时长得多时,我们尝试运行我们的测试套件,最后它失败了,并且许多测试报告了OutOfMemoryError。这组测试可以很好地与Fabric依赖项一起运行。 是否有人遇到过类似问题?
答案 0 :(得分:2)
文档显示Fabric Crashlytics SDK使用ContentProvider对其进行初始化。因此,在应用程序代码中调用setCrashlyticsCollectionEnabled函数为时已晚。
新的SDK不再使用Fabric的API密钥。相反,Crashlytics现在使用您应用的google-services.json文件将您的应用与Firebase项目相关联,并保留您的历史崩溃数据。如果您在AndroidManifest.xml文件中声明了io.fabric.ApiKey,请将其删除。
如果您要禁用自动崩溃报告并仅启用它 对于特定用户,请在您的网站中使用Android元数据标签 AndroidManifest.xml文件。然后,您可以使用以下方式启用崩溃报告 新的setCrashlyticsCollectionEnabled实例方法。
因此,您需要在清单中禁用数据收集。为此,您需要在清单中添加firebase_crashlytics_collection_enabled元标记。
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />
您可能想将构建变量注入清单文件,因为您只想在测试构建中禁用Crashlytics。请参阅下面的链接。 https://developer.android.com/studio/build/manifest-build-variables.html
答案 1 :(得分:0)
好的,我对此有更新。我们刚刚将库更新为最新发布的最新版本,问题似乎需要解决
com.google.firebase:firebase-crashlytics-gradle:2.2.0
而不是2.1.0 com.google.firebase:firebase-crashlytics:17.1.0
而不是17.0.0 发表原始文章的地方