Uploading Firebase Crashlytics native symbols for a dynamic module

1.4k views Asked by At

I have an Android app using Firebase Crashlytics, that is now distributed as Android App Bundle (AAB), and consists of the main, base app (module A), and dynamically loaded on demand module B. Additionally the activities and services in module B run in a sub-process, not sure if this is relevant. Both modules A and B have their own native libraries that are built with them in Android Studio, let's call them libA.so and libB.so. Upon finishing each release build, I also run Gradle task upload CrashlyticsSymbolFileRelease, but that uploads only the symbols for libA.so. When a crash happens in the dynamic module and it's native library libB.so, Crashlytics shows me only generic stack trace, without any function names, line numbers etc.

How could I force upload of native symbols for libB.so, please?

UPDATE 9/27/2020

Updated dynamic's module build.gradle with:

buildTypes {
    release {
        firebaseCrashlytics {
            nativeSymbolUploadEnabled true
        }
    }
    debug {
        debuggable true
        jniDebuggable true
        firebaseCrashlytics {
            mappingFileUploadEnabled false
            nativeSymbolUploadEnabled false
        }
    }
}

Now in Android Studio on the gradle tab for this module I have an uploadCrashlyticsSymbolFileRelease command as well. Great. I execute it, and after a while the build crashes with error message:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':myDynModule:uploadCrashlyticsSymbolFileRelease'.
> variant.getApplicationId() is not supported by dynamic-feature plugins 
  as it cannot handle delayed setting of the application ID. Please use 
  getApplicationIdTextResource() instead.

It seems that something needs to be corrected in the gradle script that runs uploadCrashlyticsSymbolFileRelease command for dynamic feature modues, but I have no idea what to fix and where...

UPDATE 10/1/2020

Submitted a support ticket request to Firebase support, let's see if they will have any good suggestion, or maybe decide to fix a bug...

Greg

0

There are 0 answers