Crashlytics / Fabric不报告Android上的崩溃

问题描述 投票:18回答:4

我在Fabric / Crashlytics方面遇到了一些问题。

我正在使用Android Studio 1.3.2

这是我的build.gradle

buildscript {
    repositories {
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    jcenter()
    maven { url 'https://maven.fabric.io/public' }
}

android {
...
}

dependencies {
    ...
    compile('com.crashlytics.sdk.android:crashlytics:2.5.2@aar') {
        transitive = true;
    }
}

我在清单中添加了api密钥(我添加了元数据com.crashlytics.ApiKey,以及io.fabric.ApiKey)。

我正在Application类中启动Fabric

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

问题是Beta正在工作(我可以共享,更新,打开应用程序),Answers正在运行(会话列出了所有内容),我甚至可以记录异常

Crashlytics.logException("Test");

并且非致命崩溃将添加到Fabric仪表板。

但出于某种原因,没有报告“致命”崩溃并将其发送给Fabric。有人可以帮帮我吗?可能是什么原因?我究竟做错了什么?

顺便说一下 - 从Crashlytics更新到Fabric之后,这种情况开始发生。我重新安装了插件,已删除的应用并再次添加,尝试没有Android Studio的插件。

android crashlytics twitter-fabric
4个回答
6
投票

尝试将其添加到您的Application类:

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

对于测试崩溃报告使用:

Crashlytics.getInstance().crash();

对于报告非致命性使用:

Crashlytics.log("Your log");
Crashlytics.logException(new Throwable("This your not-fatal name"));

5
投票

截至目前,你需要将面料api更新到最新的2.9.3 for android,在你的主文件中你需要在create()方法的最后一个中添加它

final Fabric fabric = new Fabric.Builder(this)
            .kits(new Crashlytics())
            .debuggable(true)
            .build();
Fabric.with(fabric);

3
投票

我有一个稍微不同的问题。在我的项目中添加了Answers依赖项之后,我的Crashlytics突然停止了崩溃事件。

 compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
        transitive = true;
    }
 compile('com.crashlytics.sdk.android:answers:1.3.10@aar') {
        transitive = true;
    }

解决方案只是删除Answers依赖项。你不需要它,因为它已经存在于crashlytics pacakge com.crashlytics.android.answers中。*。

可能这对某些用户会有所帮助。


0
投票

使用后

final Fabric fabric = new Fabric.Builder(this) .kits(new Crashlytics()) .debuggable(true) .build(); Fabric.with(fabric);

implementation 'com.google.firebase:firebase-core:16.0.7'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
implementation 'com.crashlytics.sdk.android:answers:1.4.7'

将其添加到AndroidManifest.xml

<meta-data
        android:name="io.fabric.ApiKey"
        android:value="MyFabricApiKey" />
    <meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" />

它可以工作,在Firebase和Fabric面板中显示CRASH。谢谢....

© www.soinside.com 2019 - 2024. All rights reserved.