Native symbols crashlyticsUploadSymbols{variant} Crashlytics found no symbols for *.so skipping
See original GitHub issueSame issue as in https://github.com/firebase/firebase-android-sdk/issues/1220
Environment
- Android Studio version: 3.6.1
- Gradle Version version: 5.4.1
- Gradle Plugin version: 3.5.0
- Fabric Plugin - 1.31.2
- Fabric Crashlytics - 2.1.0
- Fabric Crashlytics NDK - 2.10.1
Gradle plugin version 3.5.3 Gradle version 5.5
Issue
We added the NDK reporting functionality as mentioned in the docs and we do not see the native crashes being deobfuscated. The only two native libraries that we have are 3rd party (Crashlytics and Realm).
Crashlytics.log
Log is attached, sensitive information has been removed.
It looks like cSymGen
is unable to find symboles for the .so
s.
2020-03-05 11:11:23.406 [DEBUG] (Execution worker for ':' Thread 4) com.crashlytics - Crashlytics found no symbols for /productionDebug/out/lib/armeabi-v7a/libcrashlytics.so, skipping.
2020-03-05 11:11:23.406 [DEBUG] (Execution worker for ':' Thread 4) com.crashlytics - Generating cSYM for /productionDebug/out/lib/armeabi-v7a/librealm-jni.so
2020-03-05 11:11:23.418 [DEBUG] (Execution worker for ':' Thread 4) com.crashlytics - Using ELF data for cSYM generation.
2020-03-05 11:11:23.418 [DEBUG] (Execution worker for ':' Thread 4) com.crashlytics - Crashlytics found no symbols for /productionDebug/out/lib/armeabi-v7a/librealm-jni.so, skipping.
Relevant Code:
crashlytics {
enableNdk = true
androidNdkOut = "build/intermediates/merged_native_libs"
androidNdkLibsOut = "build/intermediates/stripped_native_libs"
}
We had to configure the androidNdkOut
and androidNdkLibsOut
as shown above otherwise it would not sync using the default settings.
Another thing to note is that the Realm and Crashlytics dependencies are in their own library in the project. However the build directories for those libraries do not have any data.
We can’t upgrade to the new Firebase beta yet because it is in beta and also requires AndroidX. Is there anyway to make it work with the Fabric plugin? crashlytics.log
Issue Analytics
- State:
- Created 4 years ago
- Comments:14 (5 by maintainers)
Top GitHub Comments
@dsuresh-ap, as I know - yes, because release libraries and packages do not provide
so
libs with debug information, only finalso
lib with stripped debug symbols. If You want to do this You need to find sources for needed libs and build them directly in Your project, in that case Android Studio will generate debugso
libs for upload and release libs with stripped debug information for Your apk.For such cases as You described I use another solution - when error occurred, there is always obfuscated stack trace in Firebase Crashlytics. By stack address that printed in stack trace You can find point in lib where the error occurred by analyzing lib in IDA Pro or Ghidra application (disassembling native library). When problem found You need, again, sources of that lib to fix the problem, but You are using them as dependency. Vicious circle=)
Glad to hear it, thanks @dsuresh-ap !