代码之家  ›  专栏  ›  技术社区  ›  Dan Lew

升级后应用程序中的VerifyError

  •  4
  • Dan Lew  · 技术社区  · 16 年前

    我有一个小问题,我希望有人能给我一些见解。

    有时,当用户从市场上更新我的应用程序(从一个版本到另一个版本)时,他们在运行应用程序时会收到验证错误。它发生在一个随机类上;您可以使用应用程序的一部分,然后转到应用程序中的其他活动会导致应用程序崩溃。这只会发生一次;一旦Dalvik把它从它的系统中弄出来,它就再也不会发生了。

    由于每次更新只会发生一次(而且大多数时候根本不会),这是一个小问题,但我认为这会对我的应用程序产生不良影响,所以如果有人有任何想法,那就太好了。

    堆栈跟踪似乎没有什么帮助,因为它们总是发生在不同的地方(这让我更加困惑)。下面是一个例子:

    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)
    
    1 回复  |  直到 16 年前
        1
  •  0
  •   Dan Lew    16 年前

    原来我被这个错误缠住了: http://code.google.com/p/android/issues/detail?id=2886

    解决方案是将接收器置于不同的过程中。