Fabric crashlytics csyms does not exist

Viewed 102

I'm trying to upload symbols for NDK crashlytic report. But while executing ./gradlew crashlyticsUploadSymbolsDebug i'm getting

A problem was found with the configuration of task ':app:crashlyticsCacheSymbolsDebug'.

> Directory '/Users/Developer/AndroidStudioProjects/SampleApp/app/build/fabric/debug/csyms' specified for property '$1' does not exist.

I've already added crashlytics block to gradle:app

crashlytics {
    enableNdk true
}

also tried

crashlytics {
    enableNdk true
    androidNdkOut 'src/main/obj'
    androidNdkLibsOut 'src/main/libs'
}

Both are failing with the above error.

1 Answers

Fabric/Firebaser here - this can have a couple root causes. This error is really saying that we were unable to locate your native binaries either in the location specified, or in the default locations if no locations are specified by androidNdkOut or androidNdkLibsOut.

  1. If you've recently upgraded your version of Android Studio to 3.5 or later, some of the paths outputted by the Gradle build that Crashlytics relied on to automatically find your native binaries have changed, and can result in this error. Remove the paths specified at androidNdkOut and androidNdkLibsOut, and then try upgrading to a more recent version of the Fabric Gradle plugin if you haven't. I recommend the latest here: https://docs.fabric.io/android/changelog.html#fabric-gradle-plugin
  2. If not 1, the issue likely is that our build tools cannot find your binaries at the default locations we check. This means that you will have to look into your project and find the correct paths for androidNdkOut and androidNdkLibsOut, the unstripped and stripped binaries respectively. For example, if you were using cmake, it might look like this:
androidNdkOut 'build/intermediates/cmake'
androidNdkLibsOut 'build/intermediates/stripped_native_libs'

where under cmake and stripped_native_libs are a set of folders for each ABI you support. But it could be different for your project.

Related