8

Crashlytics は次の問題を報告します。これは、アプリケーションのかなりの割合のユーザーに影響を与えています。

致命的な例外: junit.framework.AssertionFailedError: xwalk の準備が整う前に、このメソッドを呼び出すことはできませんorg.crosswalk.engine.XWalkWebViewEngine.initWebViewSettings(XWalkWebViewEngine.java:193) org.crosswalk.engine.XWalkWebViewEngine.access$000(XWalkWebViewEngine.java:55) at org.crosswalk.engine.XWalkWebViewEngine$2.run(XWalkWebViewEngine.java: 90) org.xwalk.core.XWalkActivityDelegate.onActivateCompleted(XWalkActivityDelegate.java:179) org.xwalk.core.XWalkLibraryLoader$ActivateTask.onPostExecute(XWalkLibraryLoader.java:314) org.xwalk.core.XWalkLibraryLoader$ActivateTask.onPostExecute (XWalkLibraryLoader.java:277) android.os.AsyncTask で。android.os.AsyncTask.access$600(AsyncTask.java:177) で終了 (AsyncTask.java:632) android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645) で android.os.Handler.dispatchMessage( Handler.java:102) で android.os.Looper.loop(Looper.java:136) で android.app.ActivityThread.main(ActivityThread.java:5034) で java.lang.reflect.Method.invokeNative(Method.java) ) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) の java.lang.reflect.Method.invoke(Method.java:515) で com.android.internal.os.ZygoteInit. main(ZygoteInit.java:602) at dalvik.system.NativeStart.main(NativeStart.java)handleMessage(AsyncTask.java:645) で android.os.Handler.dispatchMessage(Handler.java:102) で android.os.Looper.loop(Looper.java:136) で android.app.ActivityThread.main(ActivityThread.java) :5034) で java.lang.reflect.Method.invokeNative(Method.java) で java.lang.reflect.Method.invoke(Method.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)handleMessage(AsyncTask.java:645) で android.os.Handler.dispatchMessage(Handler.java:102) で android.os.Looper.loop(Looper.java:136) で android.app.ActivityThread.main(ActivityThread.java) :5034) で java.lang.reflect.Method.invokeNative(Method.java) で java.lang.reflect.Method.invoke(Method.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)com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) でのreflect.Method.invoke(Method.java:515) com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 602) dalvik.system.NativeStart.main(NativeStart.java) でcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) でのreflect.Method.invoke(Method.java:515) com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 602) dalvik.system.NativeStart.main(NativeStart.java) で

crosswalk をプラグインとして追加したばかりで、メソッドを明示的に呼び出すことはないと思います (xwalk の準備ができる前にこのメソッドを呼び出すことはできません)。何か案は?前もって感謝します!

4

1 に答える 1

1

XWalkViewまだ準備ができていない状態で、何かをしていると思います。

onCreate()Crosswalk の最新バージョンでは、が呼び出されたときに Crosswalk ランタイムがまだ読み込まれていない lib への変更がいくつかあります。XWalkViewしたがって、初期化または何かを実行したい場合は、XWalkActivity.onXWalkReady()が呼び出されるまで待ちます。

解決策は次のとおりです。

  • を含む活動を拡張XWalkViewするXWalkActivity
  • XWalkActivityのメソッドをオーバーライドし、そこにonXWalkReady()必要な初期化を行いますXWalkView

ここで既に述べたように: https://crosswalk-project.org/apis/embeddingapidocs_v5/org/xwalk/core/XWalkActivity.html

于 2016-10-31T16:23:05.703 に答える