繁体   English   中英

如何在Android Developer Console崩溃报告中阅读“OR call stack”?

[英]How to read “OR call stack” in Android Developer Console crash report?

登录Android Developer Console时,可以访问崩溃报告。 由于我上传了映射文件,因此日志不会被混淆,但我仍然不确定如何阅读它们:

java.lang.NullPointerException: 
    at com.my.app.Path.To.Package.CrashClass.methodA(TheClass.java)
    or                     .methodX (TheClass.java)
    or                     .methodY (TheClass.java)
    or                     .methodY (TheClass.java)
    at com.my.app.Path.To.Package.CallingClass$7.run (CallingClass.java) 
    at android.os.Handler.handleCallback (Handler.java:751) 
    at android.os.Handler.dispatchMessage (Handler.java:95) 
    at android.os.Looper.loop (Looper.java:154) 
    at android.app.ActivityThread.main (ActivityThread.java:6692) 
    at java.lang.reflect.Method.invoke (Method.java) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1468) 
    at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1358)

我不明白有关的信息methodA methodB ,等...

这是否意味着,是否在每个类中都发生了NullPointerException

这是内调用堆栈CrashClass (将是令人吃惊SICE methodX不叫methodA或反之亦然)?

另一个问题的答案向我指出了这个问题的正确解决方案:

ProGuard可以将类的不同方法映射到相同的混淆名称。 例如,两个方法MyClass.method1(...)MyClass.method2(...)都可以映射到模糊名称MyClass.a(...)

因此,当在方法出现错误a只知道,这发生在method1 method2 这就是调用堆栈可能包含or-items的原因......

要避免此问题,可以在Proguard配置中添加以下选项:

-useuniqueclassmembernames

更多信息可以在这里找到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM