I've got a small issue which I was hoping someone could give me some insight on.
Sometimes, when a user updates my app from the market (from one version to another) they get a VerifyError upon running the app. It happens to a random class; you can use part of the app, then going to a different Activity in the app causes it to blow up. This only happens once; once Dalvik gets it out of its system it never happens again.
Since it only happens once per update (and most of the time, not at all), it is admittedly a minor issue, but I think it reflects badly on my app, so if anyone has any ideas that would be great.
The stack traces don't seem that helpful, since they always happen in a different place (which further confuses me). Here's an example of one:
java.lang.VerifyError: com.mypackage.myapp.package.SomeClass
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1472)
at android.app.Instrumentation.newActivity(Instrumentation.java:1097)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2255)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2371)
at android.app.ActivityThread.access$1800(ActivityThread.java:118)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1759)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4077)
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:782)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
at dalvik.system.NativeStart.main(Native Method)