2016-08-16 29 views
8

Crashlytics zgłasza następujący problem, który ma wpływ duża część użytkowników mojej aplikacji:Przejściu wywala z AssertionFailedError

Fatal Exception: junit.framework.AssertionFailedError: Cannot call this method before xwalk is ready at junit.framework.Assert.fail(Assert.java:50) at org.xwalk.core.XWalkView.setZOrderOnTop(XWalkView.java:1271) at org.crosswalk.engine.XWalkWebViewEngine.initWebViewSettings(XWalkWebViewEngine.java:193) at org.crosswalk.engine.XWalkWebViewEngine.access$000(XWalkWebViewEngine.java:55) at org.crosswalk.engine.XWalkWebViewEngine$2.run(XWalkWebViewEngine.java:90) at org.xwalk.core.XWalkActivityDelegate.onActivateCompleted(XWalkActivityDelegate.java:179) at org.xwalk.core.XWalkLibraryLoader$ActivateTask.onPostExecute(XWalkLibraryLoader.java:314) at org.xwalk.core.XWalkLibraryLoader$ActivateTask.onPostExecute(XWalkLibraryLoader.java:277) at android.os.AsyncTask.finish(AsyncTask.java:632) at android.os.AsyncTask.access$600(AsyncTask.java:177) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5034) at java.lang.reflect.Method.invokeNative(Method.java) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602) at dalvik.system.NativeStart.main(NativeStart.java)

Właśnie dodałem przejściu jako plugin i nie sądzę, ja nazywam każda metoda jawnie (nie można wywołać tej metody, zanim xwalk jest gotowy). Jakieś pomysły? Z góry dziękuję!

+1

o tym samym numerze, a ja jestem ciekawostką dowolne rozwiązania –

+0

@ gion_13 Patrząc na kod XWalk, ten wyjątek jest zgłaszany przy wszelkich nieobsługiwanych operacjach wyjątków spowodowanych przez wywoływanie metod w xwalk zanim będzie gotowy. Czy obejrzałeś ten link - https://crosswalk-project.org/jira/browse/XWALK-4938, który określa środki zaradcze, aby tego uniknąć. – Gandhi

+0

Po raz pierwszy tego doświadczasz. Używanie ionic2 i fabric.io z xwalk. Nie zmieniam żadnego natywnego kodu Java. wskazówki, które należy opublikować ten błąd (?) są doceniane. – atx

Odpowiedz

1

Myślę, że robisz coś dla XWalkView, gdy wciąż jest w stanie niegotowym.

W najnowszej wersji programu Crosswalk wprowadzono pewne zmiany w bibliotece, że środowisko wykonawcze Crosswalk nie jest jeszcze załadowane po wywołaniu onCreate(). Dlatego jeśli chcesz zainicjować XWalkView lub coś zrobić, poczekaj, aż zostanie wywołana XWalkActivity.onXWalkReady().

Rozwiązaniem jest:

  • Rozszerz działalność zawierający XWalkView z XWalkActivity
  • Override XWalkActivity „s onXWalkReady() metod i zrobić niezbędne inicjalizacji rzeczy do XWalkView tam

Jak już wspomniano tutaj : https://crosswalk-project.org/apis/embeddingapidocs_v5/org/xwalk/core/XWalkActivity.html

+1

Dziękuję za odpowiedź, ale nie zmieniam żadnego kodu Java. Właśnie składam kilka wtyczek cordova, a ja tylko koduję javascript. –

Powiązane problemy