cordova-crosswalk-engine icon indicating copy to clipboard operation
cordova-crosswalk-engine copied to clipboard

Crosswalk's APIs are not ready yet

Open calclavia opened this issue 8 years ago • 13 comments

Upon first app open after install, a user gets this error:

Restarting the app fixes it.

Manufacturer: Samsung Model: SM-N920T Board: Universal7420 Android API: 23 Android OS: 6.0.1 Brand: Samsung RAM: 3.58GB

Exception java.lang.RuntimeException: Crosswalk's APIs are not ready yet
org.xwalk.core.XWalkView.onTouchEvent (XWalkView.java:1689)
android.view.View.dispatchTouchEvent (View.java:9998)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2828)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2499)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent (PhoneWindow.java:2831)
com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1863)
android.app.Activity.dispatchTouchEvent (Activity.java:3046)
com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent (PhoneWindow.java:2792)
com.android.internal.policy.MultiPhoneWindow$MultiPhoneDecorView.dispatchTouchEvent (MultiPhoneWindow.java:371)
android.view.View.dispatchPointerEvent (View.java:10233)
android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:5397)
android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:5233)
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4673)
android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4726)
android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4692)
android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:4834)
android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4700)
android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:4891)
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4673)
android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4726)
android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4692)
android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4700)
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4673)
android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:7359)
android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:7237)
android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:7198)
android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:7469)
android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:185)
android.os.MessageQueue.nativePollOnce (MessageQueue.java)
android.os.MessageQueue.next (MessageQueue.java:323)
android.os.Looper.loop (Looper.java:143)
android.app.ActivityThread.main (ActivityThread.java:7229)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120)

calclavia avatar Feb 18 '17 17:02 calclavia

If they're not ready now, they're probably never going to be: https://crosswalk-project.org/blog/crosswalk-final-release.html

infil00p avatar Feb 18 '17 18:02 infil00p

I am getting this error too , but it come just randomly. It seems to mean that something is called while crosswalk is not ready. Seems to do with plugins.

v3ss0n avatar Jun 05 '17 14:06 v3ss0n

https://lists.crosswalk-project.org/pipermail/crosswalk-help/2016-October/002284.html

v3ss0n avatar Jun 05 '17 14:06 v3ss0n

That crash happen when devices resources are busy and crosswalk is launches .

v3ss0n avatar Jun 05 '17 14:06 v3ss0n

Any update on this?

renanbandeira avatar Oct 03 '17 19:10 renanbandeira

Is this relevant to this issue? https://crosswalk-project.org/documentation/shared_mode.html

roby65 avatar Oct 11 '17 16:10 roby65

I fixed it adding this in the MainActivity

@Override
public boolean dispatchTouchEvent(MotionEvent event) {

    try
    {
        return super.dispatchTouchEvent(event);
    }
    catch(java.lang.RuntimeException e) {

        if ( e.getMessage().compareTo("Crosswalk's APIs are not ready yet") == 0 ) {
        }
        else
        {
            throw e;
        }
    }

    return false;
}

roby65 avatar Oct 17 '17 16:10 roby65

Any news on this issue?

@roby65 where did you add that snippet? in your own plugin or as a hack in crosswalk?

Thanks in advance

santi-cognifit avatar Nov 13 '17 14:11 santi-cognifit

@santi-cognifit Add it to the MainActivity, in the src folder of the Android platform

roby65 avatar Nov 13 '17 14:11 roby65

Thanks @roby65 it works fine

santi-cognifit avatar Nov 14 '17 09:11 santi-cognifit

This is still an issue. Any news on the official fix?

Is there any way to automate @roby65 's workaround? Manually adding this doesn't scale well.

frontyard avatar Apr 18 '18 16:04 frontyard

@frontyard This project is no longer mantained, so I don't expect an official fix. I would be happy to know a way to automatize the code add too.

roby65 avatar Apr 18 '18 16:04 roby65

Right. Just realized I'm in the wrong project, the other one being cordova-plugin-crosswalk-webview. The issue exists in that one too.

frontyard avatar Apr 18 '18 16:04 frontyard