itzhar
itzhar

Reputation: 13031

How to upload a mapping file to Firebase Crashlytics?

In the old Crash reporting - there is easy way to upload. i didn't find it in the Crashlytics section

Upvotes: 63

Views: 31314

Answers (5)

Mike Bonnell
Mike Bonnell

Reputation: 16239

Mike from Firebase here. Crashlytics in Firebase does not offer a way to upload mapping files outside of the build flow.

Upvotes: 29

Santhi Bharath
Santhi Bharath

Reputation: 2878

Finally, Firebase provided the option to enable mapping files manually

Here you can find firebase CLI commands to upload

Upvotes: 2

Mansukh Ahir
Mansukh Ahir

Reputation: 3543

Set the firebaseCrashlytics.enableMappingFileUpload Gradle extension property to true in your app-level build.gradle file.

// To enable Crashlytics mapping file upload for specific product flavors:
  flavorDimensions "environment"
  productFlavors {
    staging {
      dimension "environment"
      ...
      firebaseCrashlytics {
        mappingFileUploadEnabled false
      }
    }
    prod {
      dimension "environment"
      ...
      firebaseCrashlytics {
        mappingFileUploadEnabled true
      }
    }
  }

for more details visit Click here

Upvotes: 2

itzhar
itzhar

Reputation: 13031

UPDATE: Firebase update their docs: see here

There is no need anymore to manually upload mapping file.

1 - To preserve the info Crashlytics needs for readable crash reports, add the following lines to your config file:

-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
-keep public class * extends java.lang.Exception

2 - To let Crashlytics automatically upload the ProGuard or DexGuard mapping file, remove this line from the config file (app/proguard-rules.pro):

-printmapping mapping.txt

For faster builds with ProGuard, exclude Crashlytics. Add the following lines to your config file:

-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**

Upvotes: 50

Juan Franco
Juan Franco

Reputation: 309

If you have followed the indications to enable the automatic upload then build the app and you still see the stack traces obfuscated in Firebase you should check the log files:

On Linux / Windows: /.crashlytics/com.crashlytics.tools/crashlytics.log
On Mac: ~/Library/Caches/com.crashlytics/com.crashlytics.tools/crashlytics.log

Look for the latest entry with: Uploading deobfuscation file

And try to find the result of the operation like: Deobfuscation file(s) uploaded or Crashlytics had a problem uploading the deobs file and you will get some hints about the cause.

Upvotes: 9

Related Questions