Open
Description
The injectCrashlyticsMappingFileIdRelease
task from the Crashlytics plugin is always invalidated on release builds, and generates a new unique ID into the app's resources, which causes the entire build and bundling to be invalidated even when nothing has changed.
I see from #5925 (comment) that this behaviour is intentional only due to other limitations, although known to be less than ideal.
So I'm opening this issue as my vote for it to receive some attention until this less-than-ideal behaviour is resolved.
Some thoughts off the top of my head:
- Do app resources affect the mappings/stack traces? I'd think it would just be source code? If not, then the task need not have a dependency on resources files (doesn't care when resources have changed). Then that circular dependency mentioned in the referenced issue might be resolved.
- Is there another way to identify the stack trace mapping file in the Crashlytics backend without needing to inject a unique ID at all? E.g. Crashlytics on iOS does not do this because I think dSYMs there have unique GUIDs anyway?
- Android Studio version: n/a
- Firebase Component: Crashlytics
- Component version:
com.google.firebase:firebase-crashlytics-gradle:3.0.3