首页 文章

Crashlytics / Fabric不报告Android上的崩溃

提问于
浏览
18

我在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的插件 .

3 回答

  • 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

    尝试添加:

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

    到您的Application类,用于测试崩溃报告:

    Crashlytics.getInstance().crash();
    

    报告非致命性使用:

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

    我有一个稍微不同的问题 . 在我的项目中添加了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中 . * .

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

相关问题