ClassNotFoundException 및 Android에 대한 많은 스레드를 보았지만 경험 한 이유가 무엇인지 아직 알지 못했습니다.Android 앱을 업그레이드 할 때 ClassNotFoundException 오류 보고서가 발생했습니다.
Android 마켓에 앱이 있습니다 (Data counter widget). 그것은 250k + 다운로드를 가지고 있으며 새로운 버전을 출시 할 때마다 안드로이드 마켓의 개발자 콘솔에 ClassNotFoundException에 관한 오류 보고서가 소수 (1-5)가납니다.
29 보고서는 지정되지 않은 ('기타') 기기에서 가져온 것이고 두 개는 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
http://groups.google.com/group/android-developers/browse_thread/thread/242effaaac01463a – Akram