Android 一两次之后,它突然开始工作了
它还帮助我为fabric和crashlytics启用额外的调试日志记录Android 一两次之后,它突然开始工作了,android,firebase,crashlytics,google-fabric,Android,Firebase,Crashlytics,Google Fabric,它还帮助我为fabric和crashlytics启用额外的调试日志记录 adb shell setprop log.tag.Fabric DEBUG adb shell setprop log.tag.CrashlyticsCore DEBUG 我发布这个答案是为了让它能够正常工作,而不必从Firebase Crashlytics上断开应用程序的链接 要做到这一点,他们必须做到以下几点: 将结构API键添加回AndroidManifest作为metadata <meta-data
adb shell setprop log.tag.Fabric DEBUG
adb shell setprop log.tag.CrashlyticsCore DEBUG
我发布这个答案是为了让它能够正常工作,而不必从
Firebase Crashlytics
上断开应用程序的链接
要做到这一点,他们必须做到以下几点:
将结构API键添加回AndroidManifest
作为metadata
<meta-data
android:name="io.fabric.ApiKey"
android:value="fabric_api_key"
/>
完成这两个步骤后,
Crashlytics
将在不断开应用链接的情况下重新开始工作。我发现,在转换为FirebaseCrashlytics后,我必须在Firebase注销并重新注册我的现有应用
adb shell setprop log.tag.Fabric DEBUG
adb shell setprop log.tag.CrashlyticsCore DEBUG
在运行应用程序进行FirebaseCrashlytics初始注册(控制台等待初始注册)之前,请确保将应用程序运行到以下位置,否则它将不会注册:
这些都不是显而易见的 升级至Firebase Crashlytics SDK&
现在,您可以使用新的官方Firebase Crashlytics SDK在应用程序中设置Crashlytics,该SDK提供了与其他Firebase产品更一致、使用更直观的改进API。本指南介绍如何从Fabric Crashlytics SDK升级到新SDK。它描述了新API带来的更改、更改的原因以及如何更新代码(如果需要)
安卓 先决条件:将应用程序迁移到AndroidX 1.添加Firebase配置文件
2.切换依赖项 (项目级)/build.gradle 不推荐来自:
buildscript {
// ...
repositories {
// ...
致:
(应用程序级)/build.gradle
最后,添加Firebase Crashlytics SDK。在应用程序级别build.gradle中,用新的Firebase Crashlytics SDK替换旧结构Crashlytics SDK。为了获得Firebase Crashlytics的最佳体验,我们还建议将Firebase SDK For Google Analytics添加到您的应用程序中(确保添加版本17.2.3或更高版本,以获得实时无崩溃用户和面包屑)
不推荐来自:
apply plugin: 'com.android.application'
// Apply the Google Services plugin (if it's not there already).
apply plugin: 'com.google.gms.google-services'
致:
更新你的代码
- Crashlytics.log现在是一种实例方法
Crashlytics.log(“我的消息”)代码>
到Firebase Crashlytics SDK:
FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
// To log a message to a crash report, use the following syntax:
crashlytics.log("E/TAG: my message");
throw RuntimeException("Test Crash")
- 崩溃方法被删除
从结构:Crashlytics.getInstance().crash()
到Firebase Crashlytics SDK:
FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
// To log a message to a crash report, use the following syntax:
crashlytics.log("E/TAG: my message");
throw RuntimeException("Test Crash")
现在,FirebaseCrashlytics使用
新Firebase Crashlytics SDK中定义的ContentProvider。去除
如果存在对Fabric.with()的调用。如果您已经在使用Firebase
Crashlytics,您的应用程序可能已经在使用自动启动,并且可能
不包含对Fabric.with()的调用
GL我在Firebase SDK升级到17.0.0+版本时遇到了这个问题
这个问题是由我们使用多种口味引起的。如果您使用单独的flavor-debug并将其链接到firebase,那么我们必须将特定于flavor的json文件添加到flavor-app->src->(flavor文件夹)的相应文件夹中,而不是将google-services.json文件添加到app根目录中
这将确保生成的代码具有正确的客户机id
这是一个愚蠢的错误,但人们很可能会错过它。首先,您必须在控制台中的项目中的Crashlytics选项卡中启用Crashlytics(在添加Crashlytics的所有依赖项之前或之后),或者按照本文中介绍的步骤进行操作
链接:
-我也有同样的问题,原因是我没有连接到互联网。嗨!您是否可以运行./gradlew assemble--在更改不同口味时刷新依赖项?如果这会导致崩溃,请告诉我。:)嗨,托德,谢谢你的建议。这似乎没有帮助。然而,我发现两种口味之间有一个区别。所有未向Firebase发送崩溃的服务器在Firebase控制台的settings/accountlinking/fabric下都有一个条目,但是,正常工作的服务器没有链接的条目,即使它在Fabric中显示为链接。这让我相信它是Firebase/Fabric团队的东西。我没有accountlinking,但是有一个集成选项卡,但不包含Fabric。ps我有业主许可证我也有同样的问题。具有两种口味的应用程序。所以最后在Firebase我有6个应用程序。现在他们中只有两个跟踪数据到Firebase Crashlytics。不幸的是,我不能理解你的想法。在Firebase控制台>项目设置>帐户链接>我看不到结构选项。此外,在Fabric中,我的所有应用程序都未连接到Firebase。而且,当我尝试连接它们时,Fabric说一些已经连接好了。它让我疯狂…Confim in Fabric>App>Firebase-它被解除链接对我来说毫无意义,但在做了所有其他事情之后,它工作了。真糟糕,这是最好的解决办法。老兄,你帮我解决了好长时间的头痛。做得好。仅供参考,您可以更新firebaseconsole->project settings->在任何地方都没有帐户链接选项。幸运的是,Fabric linked apps->linked apps Manage-在firebase中打开了我无法找到的页面。但这确实奏效了。他们让做这么简单的事情变得如此困难;(链接/取消链接对我的场景没有意义,因为结构帐户已被删除。从清单中删除io.Fabric.ApiKey对我来说很有效。对我来说,原因是“检索设置失败”错误是我没有在仪表板上初始化Firebase。我模拟了我的第一次崩溃,它工作正常。如果您没有在Firebase控制台中激活crashlytics,您将收到相同的错误。它帮助我清理了我的项目,并
buildscript {
// ...
repositories {
// ...
// Remove Fabric's Maven repository.
maven { url 'https://maven.fabric.io/public' }
// Add Google's Maven repository (if it's not there already).
google()
}
dependencies {
// ..
// Add the Google Services Gradle plugin (if it's not there already).
classpath 'com.google.gms:google-services:4.3.3'
// Remove the Fabric Gradle plugin.
classpath 'io.fabric.tools:gradle:1.31.2'
}
}
buildscript {
// ...
repositories {
// ...
// Add Google's Maven repository (if it's not there already).
google()
}
dependencies {
// ..
// Add the Google Services Gradle plugin (if it's not there already).
classpath 'com.google.gms:google-services:4.3.3'
// Add the Firebase Crashlytics Gradle plugin.
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.1.0'
}
}
apply plugin: 'com.android.application'
// Apply the Google Services plugin (if it's not there already).
apply plugin: 'com.google.gms.google-services'
// Remove the Fabric plugin.
apply plugin: 'io.fabric'
dependencies {
// Remove the Fabric Crashlytics SDK.
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
// Recommended: Add the Google Analytics SDK.
implementation 'com.google.firebase:firebase-analytics:17.4.1'
}
apply plugin: 'com.android.application'
// Apply the Google Services plugin (if it's not there already).
apply plugin: 'com.google.gms.google-services'
// Add the Firebase Crashlytics plugin.
apply plugin: 'com.google.firebase.crashlytics'
dependencies {
// Add the Firebase Crashlytics SDK.
implementation 'com.google.firebase:firebase-crashlytics:17.0.0'
// Recommended: Add the Google Analytics SDK.
implementation 'com.google.firebase:firebase-analytics:17.4.1'
}
FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
// To log a message to a crash report, use the following syntax:
crashlytics.log("E/TAG: my message");
throw RuntimeException("Test Crash")