Reason why I am raising this here is that proguard mapping file is something like a private key in key pair or a password to your personal bank account or a credit card number together with expiration date and cvv/cvc code. It is a part of security of your app. You do not share it with anyone just like that. If someone wants to access it then your explicit consent is required first. No API/SDK/(you name it) should be able to upload mapping file after default integration if you do not it enable this feature explicilty and intentionally. No room for assumptions that you might want it because so many people do it even if it is for your
convenience.
Crashlytics uploads your proguard mapping file by default for both debug and release builds.
Following websites say that you can disable just it by adding "-printmapping mapping.txt" to your proguard file.
https://docs.fabric.io/android/crashlytics/dex-and-proguard.htmlhttps://firebase.google.com/docs/crashlytics/get-deobfuscated-reports
It doesn't work. I have always had that line in my proguard
configuration file and now I can see deobfuscated exception stacktraces in Crashlytics web console.
Mapping file is always generated under default name and default location no matter proguard configuration file contains 'printmapping' line or not. Android Studio always overrides its with own line.
Other developers can confirm that issue:
https://stackoverflow.com/questions/35618434/proguard-printmapping-not-working-in-android-studio-2-0-0-and-2-1-0/36194642The only working solution is to disable all "crashlytics*" tasks in gradle script by adding something like:
I have contacted Firebase support and asked for removal of all copies of my mapping file as it was uploaded without my consent.
Firebase support response :
"After discussing this with the team, it was confirmed that, unfortunately, it is not possible to delete the mapping file."