Some Crashlytics stack traces still obfuscated
See original GitHub issueEnvironment
- Android Studio version: Android Studio Arctic Fox | 2020.3.1 Patch 3
- Firebase Component: Crashlytics
- Component version:
- firebase-bom version: 28.4.2
- Crashlytics Gradle plugin version: 2.7.1
Problem
Some stack traces in Crashlytics still show up as obfuscated, such as below:
From looking at the Crashlytics console, this seems to only occur with the production release of our app and only with some of the stack traces. Our debug project on Firebase shows that all of those stack traces are de-obfuscated correctly. Our debug and production builds use the same proguard-rules file, and I can see from the FirebaseCrashlytics logs that the mapping file does seem to get created correctly.
If I take the obfuscated stack trace from Firebase and use our generated mapping.txt file with the retrace.sh script, I can see the stack trace be correctly de-obfuscated as well.
Relevant Code:
This is from the app’s build.gradle file and is the same for both our ‘release’ and ‘debug’ build types:
minifyEnabled = true
shrinkResources = true
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
Please let me know what other information you may need. Thank you!
Issue Analytics
- State:
- Created 2 years ago
- Comments:7 (4 by maintainers)
@mitchell-ibarra @mattbusuu Sorry I lost track of this issue! Can you both make sure you are on the latest versions of the Crashlytics SDK (18.2.9) and the latest Crashlytics Gradle plugin (2.8.1). The Firebase App Distribution plugin version should not matter for deobfuscation.
Once on the latest versions, if the issue persists, please provide the debugging output from your Gradle build. You can filter to just the Crashlytics-specific output like this:
> ./gradlew app:assembleRelease --debug | grep "\[com.google.firebase.crashlytics\]"
(Replace
app:assembleRelease
above with the appropriate task name.)If you are not running the default
assemble
orbundle
Android Gradle plugin tasks, it is possible that the Crashlytics mapping file upload task is not being automatically scheduled by our plugin. If that’s the case, you can try explicitly running the module’suploadCrashlyticsMappingFile<VARIANT>
task from the command line. If that seems to work but you’re seeing incorrect stack traces, we may need to do a little more work to configure the task dependencies correctly.If you are not comfortable sharing your Gradle output or more details about your build config publicly, please feel free to email Firebase support and reference this issue.
Since there haven’t been any recent updates here, I am going to close this issue.
@mitchell-ibarra if you’re still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.