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

Bensadiku
quelle

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.

Martin Zeitler
quelle
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