2014-11-03 73 views
3

我從Flurry Analytics獲得了這個奇怪的堆棧跟蹤,我不知道它來自哪裏。所有的類都來自android系統,而不是一個單獨的行,告訴我它來自哪裏。Android上的奇怪運行時異常4.4.4

這個錯誤發生3次了Android 4.4.4

任何想法相同的設備上?謝謝。這裏的問題的

java.lang.RuntimeException 
android.app.ActivityThread.performResumeActivity(ActivityThread.java:2836) 
android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2865) 
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2291) 
android.app.ActivityThread.access$800(ActivityThread.java:144) 
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1246) 
android.os.Handler.dispatchMessage(Handler.java:102) 
android.os.Looper.loop(Looper.java:212) 
android.app.ActivityThread.main(ActivityThread.java:5135) 
java.lang.reflect.Method.invokeNative(Native Method) 
java.lang.reflect.Method.invoke(Method.java:515) 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877) 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693) 
dalvik.system.NativeStart.main(Native Method) 

Caused by: android.app.ActivityThread.deliverResults(ActivityThread.java:3455) 
android.app.ActivityThread.performResumeActivity(ActivityThread.java:2823) 
android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2865) 
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2291) 
android.app.ActivityThread.access$800(ActivityThread.java:144) 
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1246) 
android.os.Handler.dispatchMessage(Handler.java:102) 
android.os.Looper.loop(Looper.java:212) 
android.app.ActivityThread.main(ActivityThread.java:5135) 
java.lang.reflect.Method.invokeNative(Native Method) 
java.lang.reflect.Method.invoke(Method.java:515) 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877) 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693) 
dalvik.system.NativeStart.main(Native Method) 
+0

這通常與一個Activity的附加內容中的'NullPointerException'相關。但在那裏似乎你的申請沒有涉及。除非您提供更多關於這種情況發生的時間和方式的信息,否則這看起來像是Android內部的bug。 – shkschneider 2014-11-03 10:07:51

+0

嵌套異常的類名和異常消息在哪裏? – 2014-11-03 10:09:19

+0

謝謝@shkschneider,希望我有更多信息。 – Fossor 2014-11-03 10:12:36

回答

1

部分似乎是亂舞錯誤報告是離開了重要信息。

總之,這是我覺得異常從哪裏來:

private void deliverResults(ActivityClientRecord r, List<ResultInfo> results) { 
    final int N = results.size(); 
    for (int i=0; i<N; i++) { 
     ResultInfo ri = results.get(i); 
     try { 
      if (ri.mData != null) { 
       ri.mData.setExtrasClassLoader(r.activity.getClassLoader()); 
      } 
      if (DEBUG_RESULTS) Slog.v(TAG, 
        "Delivering result to activity " + r + " : " + ri); 
      r.activity.dispatchActivityResult(ri.mResultWho, 
        ri.mRequestCode, ri.mResultCode, ri.mData); 
     } catch (Exception e) { 
      if (!mInstrumentation.onException(r.activity, e)) { 
       throw new RuntimeException(
         "Failure delivering result " + ri + " to activity " 
         + r.intent.getComponent().toShortString() 
         + ": " + e.toString(), e); 
      } 
     } 
    } 
} 

(此代碼是不是來自Android的4.4.4,但這種特殊的方法是我看着版本相同.. )

看起來deliverResults正在捕捉一些異常,它進一步向上堆棧,並將其作爲RuntimeException進行包裝/修復。在構造例外時,它有一條消息,並且cause。無論生成堆棧跟蹤如何刪除這些信息,這都會使診斷變得困難。

+0

感謝@StephenC,您是對的,剛剛從Google Play中獲得完整跟蹤。現在看起來可以解決。 – Fossor 2014-11-03 19:14:35

+0

@ user1806860你可以分享你的解決方案(和問題)。即時通訊有同樣的例外。 – AsafK 2014-11-03 19:16:04

+0

@AsafK,它是不相關的 - 我發佈的Flurry的堆棧跟蹤並不完整,在'deliverResults()'之上有更多的行,它們只與我的項目有關。如果你遇到同樣的問題,無論如何你需要一個完整的跟蹤。 – Fossor 2014-11-03 19:32:41