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