アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

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で今後どのように提供させていただくか検討中ですので、しばしお待ちくださいませ!