Crosswalk stürzt mit AssertionFailedError ab

8

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!

    
mjekov 16.08.2016, 06:51
quelle

1 Antwort

1

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:

  • Verlängern Sie die Aktivität mit XWalkView von XWalkActivity
  • Überschreibe XWalkActivity 's onXWalkReady() -Methoden und führe die notwendigen Initialisierungs-Schritte zum XWalkView dort
  • durch

Wie bereits erwähnt: Ссылка

    
Dat Hoang 31.10.2016 16:23
quelle