Crashlytics nie wyświetla natywnych awarii

11

Crashlytics Native raport

Zanim zostanie to oznaczone jako duplikat, wypróbowałem wszystko ze wszystkich możliwych pytań. Awarie Java są zgłaszane poprawnie, jednak awarie z rodzimych bibliotek lib nie mają symboli debugowania.

Co próbowałem:

./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

Obecna konfiguracja:

Zależności:

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'
}

Zależności od tkaniny:

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'
    }
}

Sieć szkieletowa jest skonfigurowana i działa z awariami warstwy Java.

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

Problem: zgłaszane są awarie natywne, ale brakuje symboli debugowania, nie ma błędów / danych wyjściowych wskazujących, dlaczego brakuje.

Zrobiłem przykładową aplikację, aby móc ją łatwiej odtworzyć. Wszystko, co musisz zrobić, to stworzyć projekt w Firebase, wkleić plik google-services.json i skompilować. Link do repozytorium

bensadiku
źródło

Odpowiedzi:

0

Może to być spowodowane symbolami debugowania w innym module lub nieaktualną konfiguracją .

Spróbuj to skonfigurować podobnie:

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'
}

Powinieneś jednak przeprowadzić migrację do Firebase Crashlytics , ponieważ Fabric wkrótce ją zamknie:

Crashlytics został zintegrowany z Firebase, z nowymi funkcjami tylko Firebase. Nowe aplikacje powinny używać Crashlytics w Firebase, aby uzyskać dostęp do najnowszych aktualizacji i funkcji. Crashlytics i pulpit nawigacyjny Fabric będą dostępne dla istniejących użytkowników do 31 marca 2020 roku.

Martin Zeitler
źródło
Dzięki za odpowiedź, Martin. Niestety nie rozwiązało to problemu. Po przeczytaniu dokumentacji tkanin stwierdzono, że nawet jeśli całkowicie usuniemy ścieżki androidNdkOut i androidNdkLibsOut z crashlytics, tkanina powinna nadal znajdować symbole debugowania. Używam crashlytics.
bensadiku
dwa miesiące temu pomyślnie przesłałem symbole. ale teraz odpowiada 202
booirror