Cordova 5でCrosswalkプラグインを使ってみた

こんにちは、Monacaチームの細井です。

現在、Monacaチームでは、現在に公開されている Cordova 5への対応の調査を行っています。
Cordova 5(Android Platform 4.x)で変更点の中でも注目なのは、Androidのハイパフォーマンス版で使用しているCrosswalk WebViewエンジンがCordovaプラグイン化されたことです。

従来は、CrosswalkエンジンがCorsswalk用のCordovaに組み込まれていたため、Cordovaのバージョンを安易に上げられないといった問題がありました。
プラグイン化したことにより、CordovaとCrosswalkのバージョンに依存関係がなくなり、アップデートが容易になりました。

本記事では、CordovaコマンドでCrosswalkプラグインを使用する手順を紹介します。

Crosswalk プラグイン

https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview

検証バージョン

Cordova: 5.2.0
Android Platform: 4.1.1

使ってみた

 


// 適当なサンプルプロジェクトを作成
cordova create XwalkTest
// Android Platformを追加
cordova platform add android
// Crosswalkプラグインを追加
cordova plugin add cordova-plugin-crosswalk-webview
// Androidアプリでビルド
cordova build android

以上。
ユーザエージェントでWebViewのバージョンを確認してみます。


alert(navigator.userAgent);

WebViewがCrosswalkになっています。

また、Crosswalkプラグインのバージョン1.3.0から、自由にCrosswalkのバージョンを指定してビルドすることができるようになりました。
※8月28日時点では、Cordova Plugins Registryのバージョンが1.2.0なので、gitからプラグインを追加しています。

以下のように、plugin add時にパラメータを指定することでバージョンを指定できます。


cordova plugin add https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview.git --variable XWALK_VERSION="org.xwalk:xwalk_core_library:14+"
(cordova plugin add cordova-plugin-crosswalk-webview --variable XWALK_VERSION="org.xwalk:xwalk_core_library:14+")

add後、config.xmlを確認すると、以下のプレファレンスが自動的に追加されています。
このプレファレンスがCrosswalkのバージョン(この場合14+)を指定しており、ビルド時に対象バージョンのCrosswalkエンジンを取得してきます。


<preference name="xwalkVersion" value="org.xwalk:xwalk_core_library:14+" />

このバージョンは、plugin addした後でも自由に変更することができます。
また、以下のようにvalueに「_beta」を付けることで、BetaバージョンのCrosswalkエンジンを取得することもできます。


<preference name="xwalkVersion" value="org.xwalk:xwalk_core_library_beta:15+" />

Crosswalkのバージョンはこちらを参照

おわりに

便利になったCrosswalkエンジン。Monacaで今後どのように提供させていただくか検討中ですので、しばしお待ちくださいませ!