gpt4 book ai didi

android - 从 Firebase 崩溃报告中获取原始堆栈跟踪

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:26:43 26 4
gpt4 key购买 nike

最近我发布了一个启用了 firebase 崩溃报告的模糊处理 Android 应用程序。应用程序曾经崩溃,因为我没有上传映射文件,所以我无法正确读取堆栈跟踪。

所以我想下载堆栈跟踪并使用 /retrace.sh -verbose mapping.txt ~/trace.txt 手动反混淆

但是我无法获得原始形式的堆栈跟踪...

所以我有两个问题:

  1. 如何从他们网站上的 firebase 崩溃报告选项卡中获取原始表单?
  2. 如何在将应用发布到 Play 商店之前上传映射文件?

最佳答案

  1. 目前,无法从 Firebase 崩溃报告中获取原始堆栈跟踪。因此,您需要在查看每个错误的详细信息时手动复制它们。

问题是去混淆不适用于从 Firebase 崩溃报告复制的堆栈跟踪字符串,这是因为堆栈跟踪的每一行开头缺少 at 语句。

例如,这是您从 Firebase 崩溃报告中获得的信息

Exception java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.models.User.getUserName()' on a null object reference
com.example.views.adapters.ExampleAdapter.a (SourceFile:110)
com.example.views.adapters.ExampleAdapter.a (SourceFile:31)
b.a.a.a.b.a (SourceFile:54)
b.a.a.a.b.a (SourceFile:54)
android.support.v7.widget.RecyclerView$a.a (SourceFile:6279)
android.support.v7.widget.RecyclerView$a.b (SourceFile:6312)

您只需要在包含SourceFile 字符串的每一行的开头添加at。结果应该是这样的

Exception java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.models.User.getUserName()' on a null object reference
at com.example.views.adapters.ExampleAdapter.a (SourceFile:110)
at com.example.views.adapters.ExampleAdapter.a (SourceFile:31)
at b.a.a.a.b.a (SourceFile:54)
at b.a.a.a.b.a (SourceFile:54)
at android.support.v7.widget.RecyclerView$a.a (SourceFile:6279)
at android.support.v7.widget.RecyclerView$a.b (SourceFile:6312)

有了这个新字符串,您应该能够像往常一样对堆栈跟踪进行去混淆处理。

我知道,这需要大量工作,尤其是在发生多个错误时,但这是当前的解决方法,直到 Firebase 崩溃报告团队决定启用一项功能来下载原始堆栈跟踪或只是将 at 在细节处添加字符串,而不是将其删除。

  1. Firebase 团队最近为此发布了一个崩溃报告插件。 The guide is here - Uploading ProGuard mapping files with Gradle

老实说,我还没有成功启用这个插件,仍然被指南弄糊涂了。我真的希望他们能像在 Fabric Crashlytics 中一样简单,只需在 build.gradle 文件中添加 ext.enableCrashlytics = true

还有另一种方法,在发布前故意让应用程序崩溃,然后生成一个没有错误的新发布 APK,然后您可以将 mapping.txt 文件上传到 Firebase 崩溃报告控制台。 :)

关于android - 从 Firebase 崩溃报告中获取原始堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41649046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com