Viz*_*har 4 android firebase firebase-crash-reporting
最近我发布了一个已发布的混淆的Android应用程序,启用了firebase崩溃报告.应用程序崩溃,因为我没有上传映射文件,我无法正确读取堆栈跟踪.
所以我想下载堆栈跟踪并手动反混淆它 /retrace.sh -verbose mapping.txt ~/trace.txt
但是我无法获得堆栈跟踪的原始形式......
所以我有两个问题:
问题是,反混淆不适用于从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)
Run Code Online (Sandbox Code Playgroud)
您只需要在包含SourceFile字符串的每一行的开头添加.结果应该是这样的
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)
Run Code Online (Sandbox Code Playgroud)
使用这个新字符串,您应该能够像往常一样对堆栈跟踪进行反混淆处理.
我知道,这是很多工作,特别是当发生多个错误但这是当前的解决方法,直到Firebase崩溃报告团队决定启用一个功能来下载原始堆栈跟踪或只是将at字符串放在详细信息而不是修剪出.
老实说,我还没能成功启用这个插件,仍然被指南搞糊涂了.我真的希望他们将它作为简单的面料Crashlytics,只需添加ext.enableCrashlytics = true了在build.gradle文件中.
还有另一种方法,通过在发布前故意崩溃应用程序,然后在没有错误的情况下生成新版APK,然后您可以将mapping.txt文件上传到Firebase崩溃报告控制台.:)
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |