Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fabric crashlytics reports crashes in obfuscated format

I use crashlytics to send my reports but crashs not de-obfuscated like this:

Fatal Exception: c.a

I readed here and added

-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable

to my proguard-rules file and there is no

-printmapping mapping.txt

in my configuration files. this is my build.gradle buildTypes part:

buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            
        }
        debug_server {
            minifyEnabled false
            debuggable true

            matchingFallbacks = ['release']
        }
        debug {
            applicationIdSuffix '.debug'
            versionNameSuffix '-DEBUG'
            minifyEnabled false

        }

}

not all of my crashes are like this and I updated crashlytics to 2.9.4 version.

UPDATE:

I just skipped this

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

as I don't need to skip running proguard on Crashlytics.

UPDATE2: v2.9.9 of crashlytics. Not fixed until now. I can't detect the real cause of bugs.

like image 530
David Avatar asked Jun 23 '18 06:06

David


People also ask

How does Crashlytics collect crash reports?

By default, Crashlytics automatically collects crash reports for all your app's users (you can turn off automatic crash reporting and enable opt-in reporting for your users instead). Crashlytics provides four logging mechanisms out of the box: custom keys, custom logs , user identifiers, and caught exceptions.

What are the best crash reporting tools in fabric?

Crashlytics is one of the Fabric tools and it is completely free of charge. Twitter released Fabric in 2014. On January, 2017 Google took Fabric from Twitter and added as a feature of Firebase. You can say Crashlytics one of the best crash reporting tools.

How to integrate Crashlytics in Android app?

Integrate Crashlytics in Android app. Force a test crash and check error reports in Crashlytics dashboard. First of all you will need to create a free Fabric account at fabric.io. After creating account, it will send you a confirmation mail. You need to confirm account creation by clicking on the confirmation link received in your inbox.

How does Crashlytics handle non-fatal exceptions?

In addition to automatically reporting your app’s crashes, Crashlytics lets you record non-fatal exceptions and sends them to you the next time your app launches. Note: Crashlytics only stores the most recent eight exceptions in a given app session. If your app throws more than eight exceptions in a session, older exceptions are lost.


1 Answers

You have to add an extra rule to proguard file to keep all Kotlin exceptions

-keep public class * extends java.lang.Exception

like image 168
Omar HossamEldin Avatar answered Nov 15 '22 15:11

Omar HossamEldin