Crashlytics zeigt keine nativen Abstürze an


11

Crashlytics Native Bericht

Bevor dies als Duplikat markiert wird, habe ich alles aus allen möglichen Fragen ausprobiert. Java-Abstürze werden ordnungsgemäß gemeldet, Abstürze aus den nativen Bibliotheken haben jedoch keine Debug-Symbole.

Was ich versucht habe:

./gradlew crashlyticsUploadSymbolsDevDebug // to upload the symbols manually
androidNdkOut 'build/intermediates/ndkBuild/devDebug/obj/local' //specify the ndk paths manually
androidNdkLibsOut 'build/intermediates/merged_native_libs/devDebug/out/lib'` //specify the ndk paths manually

Das aktuelle Setup:

Abhängigkeiten:

implementation('com.crashlytics.sdk.android:crashlytics:2.10.1@aar') { transitive = true }

implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.1.1'

android.applicationVariants.all { variant ->
def variantName = variant.name.capitalize()
def task = task("ndkbuild${variantName}")
task.finalizedBy("crashlyticsUploadSymbols${variantName}")
}

crashlytics {
enableNdk true
manifestPath 'AndroidManifest.xml'
androidNdkOut 'build/intermediates/ndkBuild/devDebug/obj/local'
androidNdkLibsOut 'build/intermediates/merged_native_libs/devDebug/out/lib'
}

Die Fabric-Abhängigkeiten:

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

dependencies {
    // The Fabric Gradle plugin uses an open ended version to react
    // quickly to Android tooling updates
    classpath 'io.fabric.tools:gradle:1.31.2'
    }
}

Fabric wird eingerichtet und arbeitet mit den Abstürzen der Java-Ebene.

Fabric.Builder builder = new Fabric.Builder(this).kits(new Crashlytics(), new 
CrashlyticsNdk());`

Das Problem: Native Abstürze werden gemeldet, aber die Debug-Symbole fehlen. Es gibt keine Fehler / Ausgaben, die angeben, warum sie fehlen.

Ich habe eine Beispiel-App erstellt, um dies einfacher reproduzieren zu können. Sie müssen lediglich ein Projekt in Firebase erstellen, die Datei google-services.json einfügen und erstellen. Link zum Repo

Antworten:


0

Dies kann durch Debug-Symbole in einem anderen Modul oder durch eine veraltete Konfiguration verursacht werden .

Versuchen Sie es so zu konfigurieren:

crashlytics {
    enableNdk true
    // If using the Android plugin for Gradle version 2.2.0+ with the externalNativeBuild DSL,
    // you should remove the androidNdkOut and androidNdkLibsOut properties, as these paths will
    // automatically be detected by the Fabric plugin.
    androidNdkOut 'obj'
    androidNdkLibsOut 'libs'
    manifestPath 'AndroidManifest.xml'
}

Sie sollten jedoch besser auf Firebase Crashlytics migrieren , da Fabric es bald herunterfahren wird:

Crashlytics wurde mit neuen Nur-Firebase-Funktionen in Firebase integriert. Neue Apps sollten Crashlytics in Firebase verwenden, um Zugriff auf die neuesten Updates und Funktionen zu erhalten. Fabric Crashlytics und das Fabric-Dashboard stehen bestehenden Benutzern bis zum 31. März 2020 zur Verfügung.


Danke für deine Antwort, Martin. Leider hat dies das Problem nicht gelöst. Beim Lesen der Fabric-Dokumente wird angegeben, dass Fabric auch dann die Debug-Symbole finden sollte, wenn wir die Pfade androidNdkOut und androidNdkLibsOut vollständig aus den Crashlytics entfernen. Ich benutze Crashlytics.
— Bensadiku

Vor zwei Monaten hatte ich erfolgreich Symbole hochgeladen. aber jetzt antwortet es 202
— booirror
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.