長話の前にまず結論。
何を優先するかによって使い分けましょう!
- Android4系の動作可能環境を増やしたい、安定させたいならCrosswalkを使う
- 動作可能環境を減らしてでもアプリの容量を削りたいなら使わない
※ただし更に検証の余地あり
実際の作業は次回に譲って、後は調査結果やらなんやらが続きます。
意見要望を頂いた
「試してみてどうなった」とか、「こういう物があるよ」という情報を頂けるのはありがたいですね!
要約すると頂いた情報はこんな感じ。
- cordovaで変換したものを実行したら「Your browser does not support web audio API.」というエラーが出た。
- 音楽の形式を全て、対応しているはずのogg形式にしてもなる。
- ツクールのヘルプ通りにclosswalkやmacのcordovaで変換したときは起きなかった
本当はもっと他にもあるのですが、段階的に解決していきます。
OSが対応しているファイルが、必ずしもWebViewでも正常に扱えると限らない点は留意が必要です。
制作の過程で遭遇した挙動からその結論に達したので、
Cordovaで動作させるアプリに関して、Android4ではWeb Audio APIを使わず無音になる細工をしたり、RPG MakerMVのゲームはAndroid5以降としていました。
アプリ化手順紹介記事もそういった経緯を反映した内容となっています。
この質問を受けるまで、Closswalkが何なのかすら知らなかったのですが、私の悩みも解消してくれるかもしれません!
Android4.xのWebView
CordovaなどHTML5で動作するスマホアプリでも利用されています。
過去に何回かCordovaでAndroidアプリを作りながら、
OSのバージョンに四苦八苦した経緯があり、
「そんなんじゃないかなー」というふんわりとした予測はありましたが、
事実を添えてそれわかりやすく説いているのが下記の記事です。
k-tai.impress.co.jpの関連記事を見に行く
- Android4.3までと4.4からは組み込まれているWebViewが異なる。
- Android4までのWebViewはOSの一部として更新された。
- Android5からは、WebViewのアップデートはOSと別枠になり、最新版が適用されやすくなった。
- Android4.4のWebViewがメンテされるかは、各ユーザの端末でOSアップデートが配信されているかによる。
ここで特に注意が必要なのは4番で、Android4.4にどのバージョンのWebViewが入っているのかは、端末毎に事なるという事です。
自分がテストしたAndroid4.4とユーザのAndroid4.4が、提供されているWebViewのバージョン違いによって同じ挙動をしない可能性もあります。
(Androidアプリ作るからメジャーな4.4にするかーと思ったら5になった・3・;)
その一方でOSアップデートの無い端末も存在します。
その辺りの事は提供会社側の都合(技術的な理由や大人の事情など)で決まってしまう為、
アプリ開発者やユーザがどうにかできる話からは逸脱してしまい、どうしようもない事です。
ちなみに非公式な方法や、サポートを受けられなくなる方法、つっこんだ手段をユーザ側に提示して操作してもらうなどで、
AndroidやWebViewのバージョンを上げさせて自分のアプリが動くようにする「技術的には可能」レベルの行為は、
問題外すぎるのでここでは選択肢に入らないものとします。
Crosswalkとは?
あちこちの解説を見て私なりに理解した事を文章化すると、
OSに組み込まれた物じゃなくて、俺(Crosswalk)の用意した物を使えば、
機種毎に組み込まれているWebViewの違いに悩まなくていいよね!
・・・という物らしい(たぶん)
先の項目で長々と書いたWebViewに関する問題が一気に解決するように見えます。
こいつは素晴らしい!
crosswalk-project.org を見に行く
実際に余裕で容量制限をぶっちぎっているプロ作品のアプリも見かけるので、
条件付きでそういった申請が可能なのかもしれませんが、無制限に大きくできる訳ではない事は確かです。
4gamer.netの関連記事を見に行く
実行環境や速度の面で目に見えた恩恵が得られにくいようで、
容量を増やしてでもAndroid4系に対応したいという前提で使う事になります。
MV公式のサポート状況を調査
教えていただいた内容によるとツクールのヘルプに書いてあるやり方ではうまくいくとの事で、
それを真似してうまくいけば楽じゃんと思い、
ツクール公式(tkool.jp)でどの程度扱っているかざっと調べてみました。
tkool.jpの関連ページを見に行く
何処に書いているんだ、おおお・・・
というボケを実際にかまし、
「アプリのヘルプだよ!」と、そちらを見に行ってみると、
Output Formats とか Converting to an Android App とかの項目がいかにもですね。
Converting to an Android Appの最初の内容が「Pythonをインストールせい!」だった事に衝撃を受ける私・3・;
JAVAでAndroidアプリを作る(公式推奨)やり方を知った上で、
Cordovaでアプリを作る変化球を投げているので、
Pythonを使うのはいきなり不意打ちでした。
CordovaでCrosswalkを使う-2
第2回に移動する