如何让 Firebase 告诉我用户崩溃的确切代码行?

How do I get Firebase to tell me the exact line of code a user crashed at?

查看我的 android 应用程序的这些崩溃报告。他们中的大多数要么给我一些无用的东西,比如它在第 1 行或第 3 行崩溃,要么根本没有给出任何行。这就是 Firebase 应有的工作方式吗?

如果您使用的是 Proguard,请尝试以下解决方法:

Gradle Scripts 部分将有一个名为 proguard-rules.pro 的文件 Android Studio/ 或在资源管理器中项目的应用程序文件夹中。

在此文件中取消注释此行:

-keepattributes SourceFile,LineNumberTable

这将使您的 ClassName 和行号保持正常。

如果你想隐藏你的类名也取消注释这一行。

-renamesourcefileattribute SourceFile

最后也写下这一行

-printmapping mapping.txt

此行将生成一个 mapping.txt 文件(您可以在应用程序文件夹中找到该文件),以便在您在 Play 商店中发布应用程序时对堆栈跟踪进行去混淆处理。

完成所有这些之后,为您的应用创建一个新的发布版本并更新您现有的版本。您的崩溃报告现在应该可以正常工作了。

如果您的应用在 Play 商店中可用,您还需要使用 apk 上传生成的 mapping.txt 文件。 (如果你上传的是aab文件则不需要上传)

要在新的游戏控制台中上传映射文件,请按照以下步骤操作:

  • 转到发布/“App bundle explorer”
  • Select右上角右边神器
  • 打开“下载”选项卡
  • 滚动到资产部分
  • 在“ReTrace 映射文件”旁边应该有一个上传按钮

这应该有效。