Android 4.4(KitKat)与MotionEvent.obtain的奇怪问题

时间:2013-11-05 09:28:07

标签: android android-4.4-kitkat

我收到运行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,但我无法在启用它的情况下启动它。

1 个答案:

答案 0 :(得分:0)

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

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