Crashlytics/Fabric不报告Android上的崩溃

dme*_*vic 25 android crashlytics twitter-fabric

我在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;
    }
}
Run Code Online (Sandbox Code Playgroud)

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

我正在Application类中启动Fabric

Fabric.with(this, new Crashlytics());
Run Code Online (Sandbox Code Playgroud)

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

Crashlytics.logException("Test");
Run Code Online (Sandbox Code Playgroud)

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

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

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

Fra*_*Bob 7

确保您没有设置默认的未捕获异常处理程序 (Thread.setDefaultUncaughtExceptionHandler)。这是我遇到的问题。


Ива*_*нко 6

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

Fabric.with(this, new Crashlytics());
Run Code Online (Sandbox Code Playgroud)

对于测试崩溃报告,请使用:

Crashlytics.getInstance().crash();
Run Code Online (Sandbox Code Playgroud)

对于非致命性报告,请使用:

Crashlytics.log("Your log");
Crashlytics.logException(new Throwable("This your not-fatal name"));
Run Code Online (Sandbox Code Playgroud)

  • 似乎只有当我的应用程序连接到android studio时,Crashlytics报表才会崩溃。为什么这样? (2认同)

val*_*abh 5

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

final Fabric fabric = new Fabric.Builder(this)
            .kits(new Crashlytics())
            .debuggable(true)
            .build();
Fabric.with(fabric);
Run Code Online (Sandbox Code Playgroud)