[英]Crosswalk crashes with AssertionFailedError
Crashlytics报告了以下问题,该问题影响了我的应用程序的很大一部分用户:
致命异常:junit.framework.AssertionFailedError:在org.xwalk.core.XWalkView.setZOrderOnTop(XWalkView.java:1271)处的junit.framework.Assert.fail(Assert.java:50)在org.xwalk.core处无法调用此方法。 org.crosswalk.engine.XWalkWebViewEngine.initWebViewSettings(XWalkWebViewEngine.java:193)在org.crosswalk.engine.XWalkWebViewEngine.access $ 000(XWalkWebViewEngine.java:55)在org.crosswalk.engine.XWalkWebViewEngine $ 2.run(XWalkWebViewEngine.java: 90)位于org.xwalk.core.XWalkLibraryLoader $ (XWalkLibraryLoader.java:277)在android.os.AsyncTask.finish(AsyncTask.java:632)在android.os.AsyncTask.access $ 600(AsyncTask.java:177)在android.os.AsyncTask $ InternalHandler.handleMessage(AsyncTask .java:645),位于android.os.Handler.dispatchMessage(Handler.java:102),位于android.os.Looper.lo 位于android.app.ActivityThread.main(ActivityThread.java:5034)的op(Looper.java:136)位于java.lang.reflect.Method.invoke(Method的java.lang.reflect.Method.invokeNative(Method.java) .java:515)位于com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:786)位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)位于dalvik.system。 NativeStart.main(NativeStart.java)
我只是将crosswalk添加为插件,但我认为我没有明确调用任何方法(在xwalk准备就绪之前无法调用此方法)。 有任何想法吗? 提前致谢!
我认为您在XWalkView
仍处于未就绪状态时正在对其进行处理。
在最新版本的Crosswalk中,对库的一些更改是在调用onCreate()
时尚未加载Crosswalk运行时。 因此,如果要初始化XWalkView
或执行某些操作,请等待直到XWalkActivity.onXWalkReady()
。
解决方案是:
XWalkActivity
扩展包含XWalkView
的活动 XWalkActivity
的onXWalkReady()
方法,并在那里对XWalkView
做必要的初始化工作 如此处所述: https : //crosswalk-project.org/apis/embeddingapidocs_v5/org/xwalk/core/XWalkActivity.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.