Crashlytics в приложении для Android. Не отображается в приборной панели

Я уже прочитал много подобных вопросов, но все они мне не помогли.

Я интегрировал Fabric/Crashlytics как модуль в движок Godot (поэтому я не могу использовать смарт-плагины или приложение Fabric для выполнить процесс интеграции)

Вот мой gradle.build:

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

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
                classpath "io.fabric.tools:gradle:1.+"

    }
}

apply plugin: 'com.android.application'

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

    }
}

dependencies {
    compile 'com.android.support:support-v4:24.+'  // can be removed if minSdkVersion 16 and modify DownloadNotification.java & V14CustomNotification.java
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.google.android.gms:play-services-analytics:8.4.0'
    compile 'com.google.android.gms:play-services-ads:8.4.0'
    compile fileTree(dir: '../../../modules/appodeal/android/libs', include: '*.jar')
    compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') { transitive = true; }
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.facebook.android:facebook-android-sdk:+'

}

android {

    lintOptions {
        abortOnError false
        disable 'MissingTranslation'
    }
    dexOptions {
        preDexLibraries true
        javaMaxHeapSize "3g"
        incremental true
        dexInProcess = true
    }
    compileSdkVersion 24
    buildToolsVersion "25.0.3"
    useLibrary 'org.apache.http.legacy'

    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }
    defaultConfig {
        multiDexEnabled true
        minSdkVersion 14
        targetSdkVersion 23

        minSdkVersion 15
    }
    // Both signing and zip-aligning will be done at export time
    buildTypes.all { buildType ->
        buildType.zipAlignEnabled false
        buildType.signingConfig null
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src'
                ,'/Users/vasya/projects/godotframework/godot/modules/analytics/android','/Users/vasya/projects/godotframework/godot/modules/appodeal/android/src','/Users/vasya/projects/godotframework/godot/modules/fabric/android/src/','/Users/vasya/projects/godotframework/godot/modules/GodotFacebook/android/src/'
            ]
            res.srcDirs = [
                'res'

            ]
            aidl.srcDirs = [
                'aidl'

            ]
            assets.srcDirs = [
                'assets'

            ]
        }
        debug.jniLibs.srcDirs = [
            'libs/debug'

        ]
        release.jniLibs.srcDirs = [
            'libs/release'

        ]
    }
    applicationVariants.all { variant ->
        // ApplicationVariant is undocumented, but this method is widely used; may break with another version of the Android Gradle plugin
        variant.outputs.get(0).setOutputFile(new File("${projectDir}/../../../bin", "android_${variant.name}.apk"))
    }
}

apply plugin: "io.fabric"

Вроде установилось правильно, по крайней мере я могу разбить приложение и посмотреть действия crashlytics в logcat:

06-23 16:59:58.020: I/CrashlyticsCore(14173): Initializing Crashlytics 2.3.17.dev
06-23 16:59:58.027: D/CrashlyticsCore(14173): Installer package name is: app_process /system/bin com.android.commands.pm.Pm install -r /data/local/tmp/space-cute.apk
06-23 16:59:58.062: D/CrashlyticsCore(14173): Exception handling initialization successful
06-23 16:59:58.072: D/CrashlyticsCore(14173): Opening a new session with ID 594D1EDE003E-0001-375D-A05B7D726EF3
06-23 17:00:00.558: D/CrashlyticsCore(14173): Initialization marker file created.
06-23 17:00:00.559: D/CrashlyticsCore(14173): Finalizing previously open sessions.
06-23 17:00:00.565: D/CrashlyticsCore(14173): Closing open sessions.
06-23 17:00:00.565: D/CrashlyticsCore(14173): Closing session: 594D1CE5005A-0001-359C-A05B7D726EF3
06-23 17:00:00.565: D/CrashlyticsCore(14173): Collecting session parts for ID 594D1CE5005A-0001-359C-A05B7D726EF3
06-23 17:00:00.566: D/CrashlyticsCore(14173): Session 594D1CE5005A-0001-359C-A05B7D726EF3 has fatal exception: false
06-23 17:00:00.567: D/CrashlyticsCore(14173): Session 594D1CE5005A-0001-359C-A05B7D726EF3 has non-fatal exceptions: false
06-23 17:00:00.567: D/CrashlyticsCore(14173): No events present for session ID 594D1CE5005A-0001-359C-A05B7D726EF3
06-23 17:00:00.567: D/CrashlyticsCore(14173): Removing session part files for ID 594D1CE5005A-0001-359C-A05B7D726EF3
06-23 17:00:00.569: D/CrashlyticsCore(14173): Closed all previously open sessions
06-23 17:00:00.574: D/CrashlyticsCore(14173): Initialization marker file removed: true
06-23 17:00:00.574: D/CrashlyticsCore(14173): Starting report processing in 1.0 second(s)...
06-23 17:00:01.575: D/CrashlyticsCore(14173): Checking for crash reports...
06-23 17:00:01.577: D/CrashlyticsCore(14173): No reports found.
06-23 17:00:04.720: D/CrashlyticsCore(14173): Crashlytics is handling uncaught exception "java.lang.RuntimeException: This is a crash" from thread GLThread 1057
06-23 17:00:04.747: D/CrashlyticsCore(14173): No log data to include with this event.
06-23 17:00:04.816: D/CrashlyticsCore(14173): Closing open sessions.
06-23 17:00:04.816: D/CrashlyticsCore(14173): Closing session: 594D1EDE003E-0001-375D-A05B7D726EF3
06-23 17:00:04.816: D/CrashlyticsCore(14173): Collecting session parts for ID 594D1EDE003E-0001-375D-A05B7D726EF3
06-23 17:00:04.817: D/CrashlyticsCore(14173): Session 594D1EDE003E-0001-375D-A05B7D726EF3 has fatal exception: true
06-23 17:00:04.817: D/CrashlyticsCore(14173): Session 594D1EDE003E-0001-375D-A05B7D726EF3 has non-fatal exceptions: false
06-23 17:00:04.818: D/CrashlyticsCore(14173): Collecting SessionStart data for session ID 594D1EDE003E-0001-375D-A05B7D726EF3
06-23 17:00:04.819: D/CrashlyticsCore(14173): Collecting SessionUser data for session ID 594D1EDE003E-0001-375D-A05B7D726EF3
06-23 17:00:04.820: D/CrashlyticsCore(14173): Collecting SessionApp data for session ID 594D1EDE003E-0001-375D-A05B7D726EF3
06-23 17:00:04.821: D/CrashlyticsCore(14173): Collecting SessionOS data for session ID 594D1EDE003E-0001-375D-A05B7D726EF3
06-23 17:00:04.822: D/CrashlyticsCore(14173): Collecting SessionDevice data for session ID 594D1EDE003E-0001-375D-A05B7D726EF3
06-23 17:00:04.823: D/CrashlyticsCore(14173): Removing session part files for ID 594D1EDE003E-0001-375D-A05B7D726EF3
06-23 17:00:04.825: D/CrashlyticsCore(14173): Opening a new session with ID 594D1EE40339-0002-375D-A05B7D726EF3
06-23 17:00:04.835: D/CrashlyticsCore(14173): Crashlytics completed exception processing. Invoking default exception handler.
06-23 17:00:04.836: D/CrashlyticsCore(14173): Attempting to send crash report at time of crash...
06-23 17:00:31.588: I/CrashlyticsCore(14287): Initializing Crashlytics 2.3.17.dev
06-23 17:00:31.593: D/CrashlyticsCore(14287): Installer package name is: app_process /system/bin com.android.commands.pm.Pm install -r /data/local/tmp/space-cute.apk
06-23 17:00:31.642: D/CrashlyticsCore(14287): Found previous crash marker.
06-23 17:00:31.644: D/CrashlyticsCore(14287): Exception handling initialization successful
06-23 17:00:31.656: D/CrashlyticsCore(14287): Opening a new session with ID 594D1EFF0284-0001-37CF-A05B7D726EF3
06-23 17:00:32.705: D/CrashlyticsCore(14287): Initialization marker file created.
06-23 17:00:32.707: D/CrashlyticsCore(14287): Finalizing previously open sessions.
06-23 17:00:32.711: D/CrashlyticsCore(14287): Closing open sessions.
06-23 17:00:32.711: D/CrashlyticsCore(14287): Closing session: 594D1EE40339-0002-375D-A05B7D726EF3
06-23 17:00:32.711: D/CrashlyticsCore(14287): Collecting session parts for ID 594D1EE40339-0002-375D-A05B7D726EF3
06-23 17:00:32.711: D/CrashlyticsCore(14287): Session 594D1EE40339-0002-375D-A05B7D726EF3 has fatal exception: false
06-23 17:00:32.712: D/CrashlyticsCore(14287): Session 594D1EE40339-0002-375D-A05B7D726EF3 has non-fatal exceptions: false
06-23 17:00:32.712: D/CrashlyticsCore(14287): No events present for session ID 594D1EE40339-0002-375D-A05B7D726EF3
06-23 17:00:32.712: D/CrashlyticsCore(14287): Removing session part files for ID 594D1EE40339-0002-375D-A05B7D726EF3
06-23 17:00:32.713: D/CrashlyticsCore(14287): Closed all previously open sessions
06-23 17:00:32.716: D/CrashlyticsCore(14287): Starting report processing in 1.0 second(s)...
06-23 17:00:32.717: D/CrashlyticsCore(14287): Initialization marker file removed: true
06-23 17:00:33.716: D/CrashlyticsCore(14287): Checking for crash reports...
06-23 17:00:33.718: D/CrashlyticsCore(14287): Found crash report /data/data/org.asmstudio.spacecute/files/.Fabric/com.crashlytics.sdk.android.crashlytics-core/fatal-sessions/594D1EDE003E-0001-375D-A05B7D726EF3.cls
06-23 17:00:33.718: D/CrashlyticsCore(14287): Attempting to send 1 report(s)
06-23 17:00:35.139: D/CrashlyticsCore(14287): Adding single file 594D1EDE003E-0001-375D-A05B7D726EF3.cls to report 594D1EDE003E-0001-375D-A05B7D726EF3
06-23 17:00:35.141: D/CrashlyticsCore(14287): Sending report to: https://reports.crashlytics.com/spi/v1/platforms/android/apps/org.asmstudio.spacecute/reports
06-23 17:00:35.573: D/CrashlyticsCore(14287): Create report request ID: null
06-23 17:00:35.575: D/CrashlyticsCore(14287): Result was: 202
06-23 17:00:35.575: I/CrashlyticsCore(14287): Crashlytics report upload complete: 594D1EDE003E-0001-375D-A05B7D726EF3
06-23 17:00:35.575: D/CrashlyticsCore(14287): Removing report at /data/data/org.asmstudio.spacecute/files/.Fabric/com.crashlytics.sdk.android.crashlytics-core/fatal-sessions/594D1EDE003E-0001-375D-A05B7D726EF3.cls
06-23 17:00:35.576: D/CrashlyticsCore(14287): Checking for crash reports...
06-23 17:00:35.582: D/CrashlyticsCore(14287): No reports found.
06-23 17:00:37.443: D/CrashlyticsCore(14287): Crashlytics is handling uncaught exception "java.lang.RuntimeException: This is a crash" from thread GLThread 1058
06-23 17:00:37.472: D/CrashlyticsCore(14287): No log data to include with this event.
06-23 17:00:37.628: D/CrashlyticsCore(14287): Closing open sessions.
06-23 17:00:37.628: D/CrashlyticsCore(14287): Closing session: 594D1EFF0284-0001-37CF-A05B7D726EF3
06-23 17:00:37.628: D/CrashlyticsCore(14287): Collecting session parts for ID 594D1EFF0284-0001-37CF-A05B7D726EF3
06-23 17:00:37.629: D/CrashlyticsCore(14287): Session 594D1EFF0284-0001-37CF-A05B7D726EF3 has fatal exception: true
06-23 17:00:37.630: D/CrashlyticsCore(14287): Session 594D1EFF0284-0001-37CF-A05B7D726EF3 has non-fatal exceptions: false
06-23 17:00:37.631: D/CrashlyticsCore(14287): Collecting SessionStart data for session ID 594D1EFF0284-0001-37CF-A05B7D726EF3
06-23 17:00:37.631: D/CrashlyticsCore(14287): Collecting SessionUser data for session ID 594D1EFF0284-0001-37CF-A05B7D726EF3
06-23 17:00:37.632: D/CrashlyticsCore(14287): Collecting SessionApp data for session ID 594D1EFF0284-0001-37CF-A05B7D726EF3
06-23 17:00:37.633: D/CrashlyticsCore(14287): Collecting SessionOS data for session ID 594D1EFF0284-0001-37CF-A05B7D726EF3
06-23 17:00:37.633: D/CrashlyticsCore(14287): Collecting SessionDevice data for session ID 594D1EFF0284-0001-37CF-A05B7D726EF3
06-23 17:00:37.634: D/CrashlyticsCore(14287): Removing session part files for ID 594D1EFF0284-0001-37CF-A05B7D726EF3
06-23 17:00:37.636: D/CrashlyticsCore(14287): Opening a new session with ID 594D1F05027C-0002-37CF-A05B7D726EF3
06-23 17:00:37.646: D/CrashlyticsCore(14287): Crashlytics completed exception processing. Invoking default exception handler.
06-23 17:00:37.649: D/CrashlyticsCore(14287): Attempting to send crash report at time of crash...
06-23 17:00:37.728: D/CrashlyticsCore(14287): Adding single file 594D1EFF0284-0001-37CF-A05B7D726EF3.cls to report 594D1EFF0284-0001-37CF-A05B7D726EF3
06-23 17:00:37.737: D/CrashlyticsCore(14287): Sending report to: https://reports.crashlytics.com/spi/v1/platforms/android/apps/org.asmstudio.spacecute/reports
06-23 17:00:38.153: D/CrashlyticsCore(14287): Create report request ID: null
06-23 17:00:38.153: D/CrashlyticsCore(14287): Result was: 202
06-23 17:00:38.153: I/CrashlyticsCore(14287): Crashlytics report upload complete: 594D1EFF0284-0001-37CF-A05B7D726EF3
06-23 17:00:38.153: D/CrashlyticsCore(14287): Removing report at /data/data/org.asmstudio.spacecute/files/.Fabric/com.crashlytics.sdk.android.crashlytics-core/fatal-sessions/594D1EFF0284-0001-37CF-A05B7D726EF3.cls

Но я не могу найти приложение на панели инструментов Fabric :-(


person DrMoriarty    schedule 23.06.2017    source источник
comment
Вы нашли решение или хотя бы причину, почему это не сработало? У меня такой же случай: приложение видно на веб-панели, загрузка отчета Crashlytics завершена, но на панели ничего не видно   -  person Jacek Milewski    schedule 10.08.2017


Ответы (3)


Вы не указываете, добавили ли вы свой ключ Fabric Api в манифест Android.

<meta-data android:name="com.crashlytics.ApiKey" android:value="XXXXXX etc"/>
person Kuffs    schedule 23.06.2017
comment
Да, я добавил его в свой AndroidManifest.xml ‹meta-data android:name=io.fabric.ApiKey android:value=XXXXX/› - person DrMoriarty; 23.06.2017

Можешь поставить это:

buildscript {
    repositories {
        mavenCentral()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

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

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

и удалите следующий код из вашего build.gradle:

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

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
                classpath "io.fabric.tools:gradle:1.+"

    }
}

apply plugin: 'com.android.application'

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

    }
}

apply plugin: "io.fabric"

И дайте ему некоторое время, чтобы ваш сбой был зарегистрирован на приборной панели. Потому что однажды мне потребовалось 2 часа, чтобы зарегистрировать сбой на приборной панели. Надеюсь, поможет.

person Mrugesh Thaker    schedule 23.06.2017

У меня возникла эта проблема, так как я забыл удалить метаключ из манифеста. Все успешно загружалось, но я не мог видеть это на панели инструментов. Удалив этот мета-ключ, он сработал как шарм.

<meta-data android:name="com.crashlytics.ApiKey" android:value="XXXXXX etc"/>

удалите указанную выше строку, если у вас есть в манифесте

person Damanpreet Singh    schedule 01.10.2019