Upgrade to 3 crosswalk error

I have just upgraded our application from ionic 2 to ionic 3.0.0 (the first release that has what I need)
All looks great until I test the app on my Android device. We are using crosswalk as we support Android 4.3.

The splash screen shows and the first page (login page) shows. This page functions but when I go to navigate to the next page I get this error:


12-14 11:08:47.860: E/chromium(5768): [ERROR:xwalk_autofill_client.cc(172)] Not implemented reached in virtual void xwalk::XWalkAutofillClient::OnFirstUserGestureObserved()

I am using crosswalk cordova plugin version 23 which is the last stable.
I have ionic cli version 2.2.1.

These errors are seen in the log when the application is starting


12-14 11:07:41.010: E/chromium(5768): [ERROR:xwalk_browser_context.cc(79)] Failed to read preference, error num: 0

12-14 11:07:41.080: E/dalvikvm(5768): Could not find class 'org.chromium.content.browser.FloatingWebActionModeCallback', referenced from method org.chromium.content.browser.ContentViewCore.startFloatingActionMode

Anyone any idea what I might have missed? Or does Ionic 3 not support crosswalk?

What is your ionic info output?

Hello thanks for the response.
I have this from the ionic info:

Your system information:

 ordova CLI: 7.0.0
Ionic Framework Version: 3.0.1
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.3.0
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v5.12.0
Xcode version: Not installed

That is not useful.

Your Ionic CLI is super old. Upgrade to a newer verison with npm install -g ionic@latest and post the new ionic info output.

cli packages: (…\node_modules)

@ionic/cli-utils  : 1.19.0
ionic (Ionic CLI) : 3.19.0

local packages:

@ionic/app-scripts : 1.3.0
Ionic Framework    : ionic-angular 3.0.1

System:

Node : v6.12.2
npm  : 3.10.10
OS   : Windows 10

Misc:

backend : legacy

This is super outdated as well.

Don’t you have Cordova installed? It should output its version as well. What does cordova -v return?

Cordova version is 7:

cordova --version
7.0.0

1.3.0 for the app-scripts is what is asked for in the upgrade documents here:

Does Ionic 3 support crosswalk? Or am I stuck using Ionic 2?

Yes it does, as Ionic doesn’t care at all.
Cordova only support Crosswalk up to a specific version - but that is not directly connected to any Ionic version.

Thanks for the response.

So then the cordova version on Ionic 3.0 does not support crosswalk then is that what you mean?
Sorry I don’t see how I can fix this I need to upgrade from ionic 2 to ionic 3 with crosswalk so we can continue to support Android 4.3. Is this possible? Or should I just stick to 2? (which I don’t want to do really)

Ionic 3 uses whatever Cordova version you have locally installed. As is said: It doesn’t care.

Yes, this is possible. Just use the Cordova version that supports Crosswalk.

OK so then if you say that the Ionic to cordova version relationship does not matter then why does it fail when I upgrade Ionic?

I have not upgraded the cordova version and it all worked with Ionic 2.

This does not follow your explanation. The only upgrade changes I have made are the upgrade from 2 -> 3 as I have shown in the image. I have not upgraded the cordova version and now crosswalk fails.

Probably because you checked out the project in a new directory or something? I don’t know.

Normally ionic info also outputs explicit information which Cordova and Cordova platform versions you are using when run inside a project.

Or would it be anything to do with upgrading the CLI?

Which CLI? Ionic or Cordova?

Actually, even upgrading Cordova CLI only changes you Cordova platforms if you remove and reinstall them. Nothing happens by itself.

Just check your git repo. config.xml and package.json should contain the version of the Cordova platforms you were using before.

I have only updated the ionic cli (as you suggested). The cordova version is not listed in the config.xml (just the plugins) but it is listed in the package.json. The cordova is the same in my master (ionic 2 code base) and the upgraded branch (for ionic 3).

Now the master fails with the same error. So the only common denominator, something that has changed, is the CLI and node (node was forced to upgrade when upgrading the CLI)

So now I am in a complete pickle as I cannot even build my ionic 3 branch!

Cordova CLI is never listed in any files as it is a global dependency.
What you may have, are the Cordova platform cordova-android and cordova-ios.

The only modern ionic info you posted in this thread didn’t include any Cordova or Cordova versions. Why?

I could not tell you. I would refer you to the writers of the CLI. Basically this was all good before I tried to upgrade from Ionic 2 to 3 (following the upgrade guide) and now nothing works.

Do you have Cordova installed locally?
What does cordova -v return?
Do you have a Cordova platform added to your project? Add one with ionic cordova platform add ....
What does ionic info return when run inside your project?

You mentioned this multiple times now. You can always go back to the previous version if you want to, then I can also stop writing here.