NoClassDefFoundError发生概率为0.3%

时间:2017-04-27 02:31:33

标签: android

我们有一个拥有大量用户的应用程序,并且在一个监控平台上保留了压缩率。最近,NoClassDefError的比率发生得比以前多得多(这种压榨的比例约为0.3%)。

堆栈打印如下:

1Caused by: java.lang.NoClassDefFoundError: com.company.framework.net.NetworkWorker
2    at adz.run(UserCenterDataLoad.java:70)
3    at com.company.framework.app.Application.d(Application.java:45)
4    at atv.run(Unknown Source)
5    at org.greenrobot.eventbus.util.AsyncExecutor$1.run(AsyncExecutor.java:116)
6    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
7    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
8    at java.lang.Thread.run(Thread.java:833)
main thread
formatted
1    at com.huawei.android.hwcontrol.HwWidgetFactoryImpl.newHwDialogStub(HwWidgetFactoryImpl.java:350)
2    at android.hwcontrol.HwWidgetFactory.getHwDialogStub(HwWidgetFactory.java:209)
3    at android.app.Dialog.<init>(Dialog.java:205)
4    at android.app.Dialog.<init>(Dialog.java:179)
5    at sp.<init>(BaseFullScreenDialog.java:30)
6    at sp.<init>(BaseFullScreenDialog.java:26)
7    at sr.<init>(HomeDialog.java:17)
8    at com.company.home.components.dialogs.HomeUpdateDialog.<init>(HomeUpdateDialog.java:58)
9    at com.company.bll.MainActivity.startHomeDialogAfterSplash(MainActivity.java:987)
10    at com.company.bll.MainActivity.d(MainActivity.java:439)
11    at com.company.bll.MainActivity.b(MainActivity.java:367)
12    at com.company.bll.MainActivity.onCreate(MainActivity.java:266)
13    at android.app.Activity.performCreate(Activity.java:6372)
14    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)
15    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2432)
16    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2539)
17    at android.app.ActivityThread.access$900(ActivityThread.java:168)
18    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1378)
19    at android.os.Handler.dispatchMessage(Handler.java:102)
20    at android.os.Looper.loop(Looper.java:150)
21    at android.app.ActivityThread.main(ActivityThread.java:5665)
22    at java.lang.reflect.Method.invoke(Native Method)
23    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:822)
24    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:712)

类NetworkWorker在每个地方都被用作网络操作的入口,这种压榨在我们的测试团队中永远不会发生。更重要的是,如果缺少这个课程,用户可能会在每个地方粉碎。

有趣的是,这种粉碎只发生在Android 5.0或更高版本 enter image description here

任何人都有这方面的经验吗?这种迷恋难以解决,不仅因为我们无法重现它,而且每当我们改变某些东西来测试它时,我们必须释放它并等待足够的人使用它。

0 个答案:

没有答案