android - 升级后 App 中的 VerifyError

标签 android

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

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

因为它每次更新只发生一次(而且大多数时候根本不会发生),这无疑是一个小问题,但我认为它对我的应用程序反射(reflect)不好,所以如果有人有任何想法会很棒。

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

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)

最佳答案

事实证明,我遇到了这个错误:http://code.google.com/p/android/issues/detail?id=2886

问题是,如果小部件接收器在应用程序之前加载,那么在同一进程中访问 Google Maps API 的任何尝试都会失败。这只发生在 Android 1.5 中,但每次有人升级应用程序时都会发生。

解决方案是将接收器放在不同的进程中。

关于android - 升级后 App 中的 VerifyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2029269/

相关文章:

Java NetworkOnMainThreadException 从 URL 读取 csv 文件

java - 如何解决 makeHttpRequest 方法错误?

java - Android Studio 在项目同步期间抛出异常

java - Android:如何从 JAR 文件中动态加载类?

android - 如何创建如下所示的自定义选项卡 View

android - gradle : Could not find com. android.support :multidex:1. 0.1

Android Firebase orderByChild 查询

java - 如何使用包从 flutter 中的图像读取 QR 码?

java - 如何从 Android 将印地语文本存储在 MySQL 中?

java - 如何更改 String[] 中的文件名