我收到运行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,但我无法在启用它的情况下启动它。
答案 0 :(得分:0)
我后来可以证实它确实与ART有关。
最新版本的ART,如果我没弄错的话,包含在Android 4.4.2中,似乎已经为我解决了这个问题。