3

我收到了运行 Android 4.4 的用户的第一个错误报告,所有这些报告都是java.lang.NoSuchFieldError: glMultMatrixxOES因为一个MotionEvent.obtain电话。

在我的代码的某个地方,我这样做:

mCancelEvent = MotionEvent.obtain(0, 0, MotionEvent.ACTION_CANCEL, 0f, 0f, 0f, 0f, 0, 0f, 0f, 0, 0);

这适用于我支持的所有版本(2.2 -> 4.3),但它似乎强制关闭 4.4,无论是在自定义 AOSP ROM 还是在 Nexus 5(带有官方原版 ROM)上。

Caused by: java.lang.NoSuchFieldError: glMultMatrixxOES
at android.view.InputEvent.<init>(InputEvent.java:46)
at android.view.MotionEvent.<init>(MotionEvent.java:1374)
at android.view.MotionEvent.obtain(MotionEvent.java:1394)
at android.view.MotionEvent.obtain(MotionEvent.java:1525)
at com.my_package.widget.ItemListView.<init>(SourceFile:19)
... 37 more

有任何想法吗?我已经尝试过调试它,但到目前为止它没有让我取得任何进展,即因为我在模拟器上没有看到任何问题。

可能是因为用户使用 ART 而不是 Dalvik?我已经尝试将模拟器切换到 ART,但我无法在启用它的情况下启动它。

4

1 回答 1

0

我稍后可以验证它确实与 ART 有关。

如果我没记错的话,最新版本的 ART 包含在 Android 4.4.2 中,似乎已经为我解决了这个问题。

于 2014-01-13T09:29:33.997 回答