Asial Blog

Recruit! Asialで一緒に働きませんか?

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

カテゴリ :
バックエンド(プログラミング)
タグ :
Cordova
Crosswalk
Android
こんにちは、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


使ってみた


  1. // 適当なサンプルプロジェクトを作成
  2. cordova create XwalkTest
  3.  
  4. // Android Platformを追加
  5. cordova platform add android
  6.  
  7. // Crosswalkプラグインを追加
  8. cordova plugin add cordova-plugin-crosswalk-webview
  9.  
  10. // Androidアプリでビルド
  11. cordova build android

以上。
ユーザエージェントでWebViewのバージョンを確認してみます。
  1. alert(navigator.userAgent);



WebViewがCrosswalkになっています。

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

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

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

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

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

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

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

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


おわりに


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