今回は主に実践関係の記事が中心で、知識関連の話は第1回で行っています。
Crosswalkプラグインの導入
まずコマンドプロンプトでCordovaプロジェクトのディレクトリに移動します。
そしてバージョンを確認。
1 |
cordova -v |
どのみちCordovaのバージョンが低すぎると、GooglePlayで公開できないし・3・;
GoogleからCordova v.4.1.1以上にせよと警告される を見に行く
そもそもCordovaの環境も整ってない人はこちら
Cordova開発環境の構築-PART1 を見に行く
1 2 3 4 5 |
# プラグインをインストール cordova plugin add cordova-plugin-crosswalk-webview # バージョン確認 cordova plugin |
これだけでOK!
プラグイン万歳!
ビルド関連のあれこれ
動作を許容する最小のAndroidのバージョンを指定します。
ここが正しくないとCrosswalkといえど、ちゃんと動いてくれません。
1 2 3 4 |
<platform name="android"> <allow-intent href="market:*" /> <preference name="android-minSdkVersion" value="14" /> </platform> |
Android4.0を想定するのでminSdkVersionの指定は14です。
ちなみに4.4は19で、5.0は21、6.0は23となります。
たとえばここに21を指定していたらAndroid5.0以降向けになるので、Android4系ではインストールすらできません。
1 |
<widget id="(略)" version="(ここを今より大きな数字に変更)" ~略> |
config.xml を書き換えたら、変更を反映させて、さっそくビルドします。
1 2 |
cordova prepare cordova build android |
(誠に遺憾ながら、現在うちで一番ダウンロード数の多いAndroidアプリ)
一番下のやつは、これを書いている時点でのGooglePlay公開バージョンに使ったファイルで、当然Crosswalkも導入していません。
Crosswalk導入後は容量がでかい。
明らかにでかい!
導入していない時と比べてAPKのサイズが20~25MB程増える様子。
アプリ内にブラウザをまるまる放り込んでいるようなものだから、仕方ないといえば仕方ない。
どちらもCPUの種類の名前で、
ARMはAndroid端末のCPUとしてはとても一般的な規格、
x86はインテルのCPUといえばコレという有名なやつです。
「ARMとx86の両方に対応する一番の方法は、それぞれのCPU用にアプリを分ける事です」と記載がありますので、
それを踏まえてCPU名のついたAPKファイルが出来上がるのでしょう。
crosswalk-project.orgの関連記事を見に行く
実際に起動してみる
なんとなく怒られそうなので、やっつけで消していますが、AdMob広告もバッチリ表示できているようです。
RPGツクールMVでAdMob広告を表示
Android4系なら問題なく実行できそうに見えますが、
RPG Maker MVのマニュアルからOutput Formatsを参照してみると、
Crosswalkの導入をしているにもかかわらず
動作環境をAndroid4.4以上としているので
Jelly Bean世代とかでどう動くのか、そもそも動かないのか気になるところです。
GooglePlayに接続してアップデートしろと表示されました・3・
この辺りの挙動調査は実機が無いと進まなさそうですね(残念)
Android4.4以上でしか動かないのであれば、
config.xmlのminSdkVersionも19に設定してビルドするべきです。
アップデートせずに利用する方法もあって良いと思うのですが、どこかで設定できるのか探したいところ。
セキュリティとかの観点で無理かな?
INSTALL_FAILED_UID_CHANGEDが出た時
「INSTALL_FAILED_UID_CHANGED」というエラーが出て、
ADBからのAPKインストールに失敗しまくりました。
過去に別のPC経由でインストールしたAPKを、
更に別のPCからインストールしようとすると出るエラーらしく、
セキュリティに関わる部分の為か、
アプリをアンインストールしても改善されないようです。
config.xmlからアプリ名を書き換えて(prepareを忘れない)
ビルドしなおすとインストールできます。
アプリ名を変えたうえでインストールを繰り返すとまた表示されました。
根本的な解決方法を見つけたいです・3・;