firebase / firebase/firebase-android-sdk

`injectCrashlyticsMappingFileIdRelease` causes every release build to be invalidated

Open
#6,770 4 comments 18 reactions 0 assignees View on GitHub
api: crashlytics type: feature request
Dominant language
Java
Stars
2.6k
Forks
710
Avg merge
2d 23h
Merged PRs (30d)
34

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 https://github.com/firebase/firebase-android-sdk/issues/5925#issuecomment-2092837896 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`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.