7

(这不是其他类似问题的重复,因为这只发生在一小部分用户身上,我无法重新创建)

在我最新的产品版本中,我突然看到班上java.lang.VerifyError的一条线路出现类型崩溃的巨大高峰。Application

这条线很简单:

Settings.init(this);

Settings一个方便的包装类在哪里SharedPreferences。似乎只有不到百分之一的用户找不到该类。

我们无法在我团队的任何设备上重现崩溃,Google Play 的发布前报告显示 0 个错误。

这是完整的堆栈跟踪:

java.lang.VerifyError: 
at com.my_package.MyApplication.onCreate (MyApplication.java:74)
at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1036)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6321)
at android.app.ActivityThread.access$1800 (ActivityThread.java:222)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1861)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:158)
at android.app.ActivityThread.main (ActivityThread.java:7229)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120)

Settings.init

public static void init(Context context) {
    sPrefs = PreferenceManager.getDefaultSharedPreferences(context);
}

我应该补充一点,这个问题在我拥有的单个生产应用程序版本上发生了 97%,我无法重新创建运行该版本或之后的任何版本的崩溃,但似乎只有那个版本受到影响,到目前为止所有版本几乎都有没有这次崩溃。

但是,我仍然看到该应用版本在 Google Play 中出现崩溃,我担心它可能会在未来的版本中再次出现,因为我认为我没有以任何方式更改该版本中的任何内容与堆栈跟踪有关。

我得到的这次崩溃的统计数据

4

1 回答 1

0

这是一个艺术代码错误,这意味着找不到某个类,您可以在 Application 类中为一小部分用户看到这个 java.lang.VerifyError ,这个问题听起来是正确的解决方案。

于 2017-08-10T01:13:10.097 回答