簡體   English   中英

升級Android應用時出現ClassNotFoundException錯誤報告

[英]ClassNotFoundException error reports when upgrading Android app

我已經看過很多有關ClassNotFoundException和Android的主題,但是我還沒有找到我認為是我經歷的原因。

我在Android Market上有一個應用程序- 數據計數器小部件 它的下載量超過25萬,每次發布新版本時,都會向Android Market中的開發者控制台發送少量(1-5)關於ClassNotFoundException的錯誤報告。

29個報告來自未指定(“ OTHER”)設備,而兩個報告來自Nexus One。 有兩條用戶消息:“啟動時崩潰”和“更新安裝過程中”。

所有報告都與我的接收器有關(擴展了BroadcastReceiver)。 接收器之一被觸發得相對頻繁,因為它是啟動讀取和存儲Android設備數據使用情況的服務的接收器。 我有一種感覺,可能是為接收器設置了警報(使用AlarmManager),然后用戶/設備升級了該應用程序,但找不到該類-可能是因為它位於不同的物理包中,或者發生了設備執行交換的那一刻。 可能是這樣嗎? 如果是這樣,有沒有解決的辦法? 否則,我看不出為什么幾乎所有報告(例如90%)都在新版本發布后的同一天或幾天之內發布。

我的一個接收者的堆棧跟蹤(其他接收者給出了與類名相同的堆棧跟蹤):

java.lang.RuntimeException: Unable to instantiate receiver com.roysolberg.android.datacounter.receivers.CounterReceiver: java.lang.ClassNotFoundException: com.roysolberg.android.datacounter.receivers.CounterReceiver in loader dalvik.system.PathClassLoader[/data/app/com.roysolberg.android.datacounter-1.apk]
 at android.app.ActivityThread.handleReceiver(ActivityThread.java:2789)
 at android.app.ActivityThread.access$3200(ActivityThread.java:125)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2083)
 at android.os.Handler.dispatchMessage(Handler.java:99)
 at android.os.Looper.loop(Looper.java:123)
 at android.app.ActivityThread.main(ActivityThread.java:4627)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:521)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
 at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.roysolberg.android.datacounter.receivers.CounterReceiver in loader dalvik.system.PathClassLoader[/data/app/com.roysolberg.android.datacounter-1.apk]
 at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
 at android.app.ActivityThread.handleReceiver(ActivityThread.java:2780)
 ... 10 more

在大約一年后更新我的應用程序后,我現在了解了這個問題,似乎沒有解決方案:

我的應用程序(取決於用戶設置)使用警報管理器定期運行特定任務。 更新應用程序后,短時間內將無法使用該應用程序,如果觸發了警報,則會導致該特定問題! 然后該應用程序再次可用,一切正常。

因此,每次更新我的應用程序時,我都會定期獲得此FC報告,對此無能為力。

現在,在FC報告消息中,有時我會看到“在更新時崩潰了” ...確認。

另外,關於移至SD的問題,我特別從清單文件中阻止了它,但是市場上的某些應用程序仍然允許強制將應用程序移至其他位置。 因此,如果您使用小部件或警報,則也肯定會收到此類報告!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM