How do I ensure Android phonegap/cordova apps use Chrome webviews? How do I ensure Android phonegap/cordova apps use Chrome webviews? google-chrome google-chrome

How do I ensure Android phonegap/cordova apps use Chrome webviews?


I would recommend Crosswalk, however, since 19th of March 2017, it has been declared EOL (more info below). Still, it's by far the most stable solution out there, our team currently uses it in a production application. Put simply, it packages a Chromium based webview inside your apk and it's backed by Intel. You can use it starting from Android 4.X.

Official sales pitch:

Crosswalk is a web runtime for ambitious HTML5 applications. It provides all the features of a modern browser, combined with deep device integration and an API for adding native extensions. It is especially suited to mobile devices, with support for both Android and Tizen.

For Cordova 4.0.0 and higher there is an official Crosswalk plugin, making it really easy to get up and running: https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview

If you have your Cordova project running, all you need to do is

cordova plugin add cordova-plugin-crosswalk-webview --save

to add the Crosswalk webview plugin. The next build will fetch all dependencies and package everything nicely.

Android 4.4.x

On Android 4.4 your hybrid app will run on a Chromium based WebView, however, it will be stuck on the same version forever (if I'm not mistaken it's Chromium 33). In my opinion it would be best to use Crosswalk here as well.

Android 5.0+

If you code for Android 5.0 and above, the Chromium WebView will be updated through Google Play. More info here: http://developer.android.com/about/versions/lollipop.html#WebView

CrossWalk version 20 and up

CrossWalk will drop support for Android 4.0.X starting with version 20. If you really need to keep 4.0.X in your support matrix, do not upgrade. I would recommend to build another APK for Android 5.X and above which no longer includes CrossWalk at all. More info on this

Crosswalk v23 is the last release (EOL)

Crosswalk has decided to release one last stable version in January of 2017, version 23. This ends official support for Crosswalk and leaves bugfixes and such to the community. More info in the blogpost

Notice!

I found that running my mobile hybrid app had better graphical performance on Crosswalk than when I relied on the system webview (tested on a Sony Xperia ZL, which is on Android 5.x, so the webview is updated through the play store). Why that is, I've no idea yet, maybe Crosswalk configures the Webview in certain ways? This needs further investigation.


try https://github.com/thedracle/cordova-android-chromeviewits a new project and needs more work but combines the chromeview project with cordova to embed chromium in a cordova android application


This looks like a promising option: Crosswalk + Cordova.

Benefits:

  • Use Cordova API
  • Use Crosswalk API
  • Cordova will use Crosswalk as its webview
  • Crosswalk does not use the Android webview, its based on Chromium

Github repo: https://github.com/crosswalk-project/crosswalk-cordova-android.