[Cordova]crosswalkを試す(終了)

■crosswalkとは
・Androidの標準WebViewを置き換えるChromiumベースのViewコンポーネント
・端末ごとの微妙なWebViewの実装・バージョン差を気にすることなく最新のChromiumベースのアプリケーションを開発することが可能
・ただし、crosswalkの開発はNov 14th, 2016、バージョン23を最後に終了、対象のChromium Versionは53(2016年9月ぐらいのバージョン)

なので、2017にはもう更新されていないので、この記事は終了で良いかと思います。

なのですが、、、
それを無理やり、新しいバージョンに更新しようとしたらどうなるのか、を調べました。。。

最終リリースについて
https://crosswalk-project.org/blog/crosswalk-final-release.html
バージョンについて
https://github.com/crosswalk-project/crosswalk-website/wiki/Release-dates

Cordovaとの連携について調べた情報
https://crosswalk-project.org/documentation/cordova.html
■Crosswalk導入の条件
Cordova CLI is >= 5.0.0:
Cordova Android platform (version >= 4.0.0)

■Cordovaについて
CLIバージョンと(iOS,Android)プラットフォームバージョンが存在する
ややこしい

Cordova最新情報
Cordova CLI 7.0.1
Cordova Android platform 6.2.3

■Crosswalkについて
プラグインバージョンとCrosswalkバージョンの2種類がある
ライブラリとそれを使うためのプラグインというイメージ
こちらもややこしい

Crosswalk最新バージョン
Crosswalk Webview Plugin, 23
Crosswalk WebView libraries 23.53.589.4(Chromium53)
 

■バージョンの変更方法
例えば、Chromium32まで落とすには、以下のようにバージョンを指定してあげれば良いです。
cordova plugin add cordova-plugin-crosswalk-webview –variable XWALK_VERSION=”4+”
※XWALK_VERSION=”4+” は、Crosswalk Release:4 (Chromium Version:32) という意味

ただ、古すぎるためbuildでエラーが発生します。
 could not find any version that matches ~~~:4+

Crosswalk Release:19、Chromium Version:49 まではビルドが通ることを確認しています。

cordovaのバージョンを下げたり、Cordova Android platformのバージョンを下げることで、もう少し低いバージョンのcrosswalkを動かすことができます。

■crosswalkの古いバージョンの使い方
旧バージョンのcordovaの環境構築
https://qiita.com/ponnjinnka/items/051b1156ef298e7ebb19

cordovaインストール 5系 → 可能
 ただし、deprecatedが幾つか表示される npmconfやminimatchなど
コマンド
npm install -g cordova@5.0.0

AndroidSDKを古いものに変更する
ANDROID_HOMEも設定する
 手順は省略
 android studio 3.0preが入っていると悪さするので削除が必要(設定でなんとかできるとは思われるけど、、、)

プロジェクトの生成(cordova create)
 →SDKを変更しないとエラーが発生する
cordova create hello com.example.hello HelloWorld
cd hello

Cordova Android platformのバージョンを指定して追加
cordova platform add android@4.0.0

プラグインのバージョンを指定して追加
cordova plugin add cordova-plugin-crosswalk-webview@1.0.0
※上の、XWALK_VERSIONでのバージョン指定方法と違うのは、気分です。色々試していました。

対応しているプラグインのバーションは以下
valid install target
“1.0.0”〜”2.3.0″

1.0.0→crosswalkのバージョン(XWALK_VERSION):11.40.277.7  Chromium 40.0.2214.91
→ここまでは確認。
 起動させてUserAgentで確認

#–variable XWALK_VERSION=”4+”を指定しても無視される
 config.xmlで、xwalkVersion value=”15+”になっていて、4+にしても変化なし
 プラグイン2.3.0だとこの値で、cwのバージョンを変更できたが、、、

プラグインは、1.0.0以前はなさそう、githubでもない
XWALK_VERSION=4.32.76.6

ソースコード
 https://download.01.org/crosswalk/releases/crosswalk/android/stable/
  4.32.76.6/arm/crosswalk-cordova-4.32.76.6-arm.zip
   →Readmeでeclipseでの取り込み方が記載あり
    ★★★eclipseで試すこと★★★
    (Android Studioへの変換を試しましたが、うまく行かず)
    (eclipseってRefreshが効かないことがあって久しぶりに触るとハマるよね)
    ★★★Android SDK toolsもバージョン25.3.0以前を使用すること★★★
    (古いcordovaでは新しい構成に対応していないため)
    https://dl.google.com/android/repository/tools_r25.2.3-windows.zip
    https://dl.google.com/android/repository/tools_r25.2.3-macosx.zip
        
    ”test”プロジェクトをインポート後、
    AndroidManifest.xmlのLAUNCHER ActivityをCordovaActivityに変更
    CordovaActivity.javaにloadUrlのアクセス先が直書きされているので
    アクセスするサーバーのURLに変更
     他のファイルは無視しても良さげ  
  
 githubからもコードが取得できるが、ライブラリのコードがなかったりして
 ビルドエラーになった。
  #Readmeの内容も怪しいが、何かしらの方法でできるのかも
  https://github.com/crosswalk-project/crosswalk-cordova-android

■プラグインを使った場合
手順は公式を参照
https://crosswalk-project.org/documentation/cordova.html

・Crosswalk導入の条件
Cordova CLI is >= 5.0.0:
Cordova Android platform (version >= 4.0.0)

・コマンド
npm install -g cordova@5.0.0
cordova create hello com.example.hello HelloWorld
cd hello
cordova platform add android@4.0.0
cordova plugin add cordova-plugin-crosswalk-webview@1.0.0

 #
cordova build android
cordova emulate android

■monacaで試した場合
 プラグインの設定でcrosswalkを選択できる。
 XWALK_VERSION=9.38.208.10(Chromium:38)まで選択可能
  
 しかし、プラグインバージョンが最新2.3.0から変更できない、かつ、
 cordova・Cordova Android platformのバージョンが変更できないため、
 古いバージョンではビルドエラーとなる。
 XWALK_VERSION=19.49.514.4 (Chromium:49)までビルド可能

■Crosswalkライブラリの作りについて
####時間を作ってまとめたい。
・流れ
ライブラリのビルド
 xwalk_core_library

ライブラリ用のリポジトリ
 chromiumのソースも取得している
  純粋なchromiumソースではなく、少し手が入っている。
  つまりchromiumバージョンを上げるには、2つの方法が挙げられる
   chromium最新バージョンのソースに、Xwalk独自のコードを追加する
   Xwalk用のchromiumにバージョンアップのパッチを地道に当て続けていく
  ビルドは、chromiumのビルド方法と同じ

github.com/crosswalk-project
crosswalk
cordova-plugin-crosswalk-webview
chromium-crosswalk
crosswalk-cordova-android

a

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク