Crashlytics meldet das folgende Problem, das einen guten Prozentsatz der Benutzer meiner Anwendung betrifft:
Schwerwiegende Ausnahme: junit.framework.AssertionFailedError: Kann nicht aufgerufen werden Diese Methode bevor xwalk bereit ist bei junit.framework.Assert.fail (Assert.java:50) bei org.xwalk.core.XWalkView.setZOrderOnTop (XWalkView.java:1271) bei org.crosswalk.engine.XWalkWebViewEngine.initWebViewSettings (XWalkWebViewEngine.java:193) bei org.crosswalk.engine.XWalkWebViewEngine.access $ 000 (XWalkWebViewEngine.java:55) bei org.crosswalk.engine.XWalkWebViewEngine $ 2.run (XWalkWebViewEngine.java:90) bei org.xwalk.core.XWalkActivityDelegate.onActivateCompleted (XWalkActivityDelegate.java:179) bei org.xwalk.core.XWalkLibraryLoader $ ActivateTask.onPostExecute (XWalkLibraryLoader.java:314) bei org.xwalk.core.XWalkLibraryLoader $ ActivateTask.onPostExecute (XWalkLibraryLoader.java:277) bei android.os.AsyncTask.finish (AsyncTask.java:632) bei android.os.AsyncTask.access $ 600 (AsyncTask.java:177) bei android.os.AsyncTask $ InternalHandler.handleMessage (AsyncTask.java:645) bei android.os.Handler.dispatchMessage (Handler.java:102) bei android.os.Looper.loop (Looper.java:136) bei android.app.ActivityThread.main (ActivityThread.java:5034) bei java.lang.reflect.Method.invokeNative (Methode.java) bei java.lang.reflect.Method.invoke (Methode.java:515) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:786) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:602) bei dalvik.system.NativeStart.main (NativeStart.java)
Ich habe Crosswalk als Plugin hinzugefügt und ich denke nicht, dass ich irgendeine Methode explizit aufrufen werde (Kann diese Methode nicht aufrufen, bevor xwalk fertig ist). Irgendwelche Ideen? Vielen Dank im Voraus!
Ich denke, du machst etwas mit dem XWalkView
, während es noch im Nicht-Bereit-Zustand ist.
In der neuesten Version von Crosswalk gibt es einige Änderungen an der lib, dass die Crosswalk-Laufzeit noch nicht geladen ist, wenn onCreate()
aufgerufen wird. Wenn Sie also XWalkView
initialisieren oder etwas tun möchten, warten Sie, bis XWalkActivity.onXWalkReady()
aufgerufen wird.
Die Lösung ist:
XWalkView
von XWalkActivity
XWalkActivity
's onXWalkReady()
-Methoden und führe die notwendigen Initialisierungs-Schritte zum XWalkView
dort Wie bereits erwähnt: Ссылка
Tags und Links android cordova crosswalk crosswalk-project