Before this gets marked as a duplicate, I have tried everything from all the possible questions. Java crashes are reported properly, however crashes from the native libs don't have the debug symbols.
What i've tried:
./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
The current setup:
Dependencies:
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'
}
The fabric dependencies:
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 is setup and working with the Java layer crashes.
Fabric.Builder builder = new Fabric.Builder(this).kits(new Crashlytics(), new
CrashlyticsNdk());`
The problem: Native crashes get reported but the debug symbols are missing, there are no error/outputs that indicate why they're missing.
I made a sample app in order to be able to reproduce this more easily. All you have to do is create a project in firebase and paste the google-services.json file and build. Link to the repo