困惑阅读Flurry的堆栈追踪

时间:2014-03-25 15:51:25

标签: android flurry

我在google play上有一个应用程序,其中有flurry个诊断功能。在flurry网站上它会报告NullPointerException但我正在努力弄清楚它正在发生的代码部分。

程序受proguard保护,但是flurry有一个系统,你可以上传proguard的mapping.txt,它会翻译。

产生的"堆栈跟踪"如下所示。我很困惑,它说" Unknown Source"与set_up_text_trace_for_quiz有关,也与下面五种方法的清单有关。空指针异常发生在哪里?为什么add_game_play_buttons旁边有$2548a35

java.lang.NullPointerException
com.mycompany.mygame.DEF_GamePlay.set_up_text_trace_for_quiz(Unknown Source)
                             start_up_game_mode
                             distxyxy
                             do_move
                             add_game_play_buttons$2548a35
                             tpl
com.mycompany.mygame.DEF_GamePlay$MicksSurfaceViewExtension.onTouchEvent(Unknown Source)
android.view.View.dispatchTouchEvent(View.java:7340)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2185)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1928)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2185)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1928)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2185)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1928)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2185)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1928)
com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2113)
com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1466)
android.app.Activity.dispatchTouchEvent(Activity.java:2468)
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2061)
android.view.View.dispatchPointerEvent(View.java:7525)
android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3368)
android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3300)
android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4392)
android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4370)
android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4474)
android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:163)
android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:4442)
android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:4493)
android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
android.view.Choreographer.doCallbacks(Choreographer.java:555)
android.view.Choreographer.doFrame(Choreographer.java:523)
android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
android.os.Handler.handleCallback(Handler.java:615)
android.os.Handler.dispatchMessage(Handler.java:92)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4895)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
dalvik.system.NativeStart.main(Native Method)

1 个答案:

答案 0 :(得分:2)

查看输出,您的ProGuard配置文件很可能缺少以下几行:

-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable

请查看another post here了解更多详情。