您如何解释反模糊的Android崩溃报告?

Ste*_*veo 5 proguard crash-reports deobfuscation

我从我的应用程序的Google Play管理区域下载了崩溃报告,运行它retrace.sh以反转混淆Proguard映射,并在下面生成输出.

问题:

什么是未知来源?

showHeader,showPhoto等的确是我的方法SummaryFragment类,但为什么他们的顺序列出显示?这些方法在我的代码中不遵循任何类型的逻辑或执行顺序.

NPE实际上抛出了哪种方法?

Caused by: java.lang.NullPointerException
at com.myapp.SummaryFragment.selectMenuItemAuth(Unknown Source)
                                             showHeader
                                             photoButtonClicked
                                             showPhoto
                                             nameButtonClicked
                                             deleteByID
                                             access$0
at com.myapp.SummaryFragment.onActivityCreated(Unknown Source)
at android.support.v4.app.Fragment.performActivityCreated(Unknown Source)
at android.support.v4.app.FragmentManagerImpl.moveToState(Unknown Source)
                                              moveToState
                                              moveToState
                                              moveToState
Run Code Online (Sandbox Code Playgroud)

Eri*_*une 7

ProGuard已从混淆的应用程序中删除了可选属性SourceFile和LineNumberTable.结果,堆栈跟踪没有行号,导致一些歧义.ReTrace打印出堆栈跟踪每一行的可能替代列表.

您可以通过在以下行中添加以下行来获得更易于理解的堆栈跟踪proguard-project.txt:

-renamesourcefileattribute MyApplication
-keepattributes SourceFile,LineNumberTable
Run Code Online (Sandbox Code Playgroud)

请参阅ProGuard手册> ReTrace> Usage.

请参阅ProGuard手册>示例> 生成有用的堆栈跟踪