Firebase崩溃报告包含带有<OR>的堆栈跟踪

hal*_*lei 6 android firebase firebase-crash-reporting

我有一个正在制作的应用程序,我正在使用Firebase进行错误和崩溃日志记录.最近,我一直在看到异常的堆栈跟踪中的一些行,从开始<OR>.以下是Firebase报告的异常直接(保存包名称)的示例:

Exception java.lang.NullPointerException: Attempt to invoke interface method 'void com.mycompany.myapp.managers.b$a.f()' on a null object reference
com.mycompany.myapp.managers.PermissionManager.getInstance (PermissionManager.java)
<OR>.checkPermission (PermissionManager.java)
<OR>.onRequestPermissionsResult (PermissionManager.java)
com.mycompany.myapp.activities.ShareImageActivity.onSaveShare (ShareImageActivity.java)
com.mycompany.myapp.activities.ShareImageActivity$3.onClick (ShareImageActivity.java)
Run Code Online (Sandbox Code Playgroud)

我知道这不是一个常规的堆栈跟踪,因为onRequestPermissionResults它不会调用checkPermissioncheckPermission不会调用PermissionManager.getInstance.我认为这是Android为了安全起见而混淆堆栈跟踪的方法之一,但我找不到任何关于此的文档.有谁知道如何解释这个堆栈跟踪?

Dou*_*son 1

您在此处看到的情况表明崩溃报告无法确定此时的实际对象。目前,Proguard 反混淆存在一种已知情况,其中哪个对象是此处的目标可能不明确。如果您从类中删除行号(看起来您正在这样做),则可能会出现这种情况。如果您能够更改 Proguard 设置以消除行号剥离,这种情况可能会有所改善。