2016/01/10

Cordova にcrosswalk-webview を使ってAndroid4.3でもWebGLを

初めに

 apache cordovaでJavaScriptだけでAndroidアプリが作成出来てしまい、感動している筆者です。
 それならと、9leap.netで公開されている、WebGLを使ったサンプルをcordovaで動作させられないものかと挑戦してみました。

cordovaでプロジェクト準備

 最初にcordova createでプロジェクトを準備します。
 次のコマンドは、drawtextureというプロジェクトを作成しています。
cordova create drawtexture
 今回はandroidが対象なので、プラットフォームはandroidを指定します。
cordova platforms add android

javaScript関係を準備

 プロジェクトフォルダに移動して、javaScript関係を準備します。
cd drawtexture/www

 index.html やjavaScriptを準備します。

いざ動作させてみよう

 プロジェクトが準備出来たので、USBデバックを有効化したAndroid機をUSBケーブルでPCに接続し、次のコマンドにてインストールします。
cordova run android
 簡単だ、と言いたいところでしたが、Android 4.4なので、WebGLは使えず「Error creating WebGL context.」とのエラーが発生しました。
 どうもWebGL対応はAndroid5.0からで、Android4.4では何かしらの対応をしないと使えないようです。

crosswalkを使ってWebGL化

 cordovaではWebViewにOS標準のブラウザを使用しますので、OSのバージョンに影響を受けます。
 仕方ないことかと思ったのですが、crosswalkというブラウザ機能をcordovaアプリに内包させてしまうモジュールがありました。
 実はcrosswalkは支倉さんに教えていただきました。ありがとうございます。
 使い方なのですが、至って簡単です。次のプラグインをインストールしてしまえば問題なく使えます。
cordova plugin add cordova-plugin-crosswork-webview

さっそくインストール

 次のコマンドでAndroid実機にインストールして起動してみます。
cordova run android
 正常動作と言いたいところですが、次のエラーとなりインストールが行われませんでした。
 Failure [INSTALL_FAILED_VERSION_DOWNGRADE] 

バージョンダウンでインストールする方法

 エラーメッセージ「INSTALL_FAILED_VERSION_DOWNGRADE」から、バージョンの不一致にて問題があるようです。
 とりあえずバージョンダウンでインストール出来ればということで、ネット検索したところ、次の記事にたどり着きました。

[Android] Android4.2でアプリのバージョンダウンをする方法  さっそくこの方法で、インストール実施。
cordova build android
adb install -r -d platforms/android/build/outputs/apk/android-armv7-debug.apk
 正常終了したので、スマホで起動したところ正常動作が確認できました。
 次が動いている状況です。

0 コメント:

コメントを投稿