【问题标题】:Fabric crashlytics reports crashes in obfuscated formatFabric crashlytics 以混淆格式报告崩溃
【发布时间】:2018-06-23 06:32:29
【问题描述】:

我使用 crashlytics 发送我的报告,但崩溃没有像这样去混淆:

Fatal Exception: c.a

我阅读了here 并添加了

-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable

到我的 proguard-rules 文件中,没有

-printmapping mapping.txt

在我的配置文件中。这是我的 build.gradle buildTypes 部分:

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

        }

}

并不是我所有的崩溃都是这样的,我将 crashlytics 更新到了 2.9.4 版本。

更新:

我只是跳过了这个

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

因为我不需要跳过在 Crashlytics 上运行 proguard。

UPDATE2: v2.9.9 的 crashlytics。直到现在都没有修复。我无法检测到错误的真正原因。

【问题讨论】:

  • 嗨,来自 Fabric 的 Paul。我建议您通过 support(at)fabric(dot)io 与我们联系,提供您的包名称、组织名称以及仪表板中混淆崩溃的链接。谢谢!
  • @buser 问题仍然存在。我特别看到 kotlin 代码的这个问题。
  • 嗨@David,这个问题的任何进展
  • @buser 问题未解决。 “由 c.c 引起”我无法摆脱它。
  • @OmarHossamEldin 直到现在还没有修复。

标签: android crashlytics crashlytics-android


【解决方案1】:

您必须在 proguard 文件中添加额外的规则以保留所有 Kotlin 异常

-keep public class * extends java.lang.Exception

【讨论】:

  • 是的,没错。我假设自定义异常意味着我自己在应用程序中编写的异常,但像 KotlinNullPointerException 这样的库异常需要这条规则不被混淆。谢谢。
  • 我有 -keep public class * extends java.lang.Exception in proguard 规则。但是一些崩溃仍然模糊不清。为什么?
  • @Mahdi 可能是因为 Java vs Kotlin?不确定。
【解决方案2】:

我也有这个问题。

您是否尝试过添加firebase-crash

dependencies 中的 build.gradle(应用级别)。

apply plugin: 'com.google.firebase.firebase-crash'

android{
   ...
}

implementation 'com.google.firebase:firebase-crash:16.2.1'

build.gradle(项目级别)

    buildscript {
      repositories {
        jcenter()
        // ...
      }

      dependencies {
        // ...
        // For Android Studio 2.x, use firebase-plugins version 1.1.1
        classpath 'com.google.firebase:firebase-plugins:1.1.1'
        // For Android Studio 3.0, use firebase-plugins version 1.1.5
        //classpath 'com.google.firebase:firebase-plugins:1.1.5'
      }
    }

试试这个,如果不能解决您的问题,请告诉我。

另外,不推荐使用-keep

或者,您可以在Google Play Console 上查看ANR & Crash

转到您的应用,然后打开 Android vitals > ANR & Crash

参考:https://firebase.google.com/docs/crash/android

【讨论】:

  • Firebase Crash Reporting 已经停用,建议直接使用 Firebase Crashlytics @c-an
猜你喜欢
  • 2015-12-23
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 2019-03-03
  • 2021-09-28
  • 2017-11-07
  • 2018-05-08
  • 2019-04-18
相关资源
最近更新 更多