RPGツクールMVで作ったゲームってAndroidアプリ用にもデプロイできますよね。
ただ、デプロイしたままじゃAndroidアプリとしては公開できないので、いろいろと手を加えてやる必要があります。
RPGツクールMVのゲームはHTMLとJavaScriptで動作してるんですが、これはブラウザで動作する言語なので、これをAndroidアプリとしても動作させるように変換するということになります。
ブラウザを埋め込んだアプリとして動作させるわけです。
理屈の説明はこのくらいにしておいて、実際にAndroidアプリ化する方法と注意点を紹介します。
Androidアプリ化の方法について
まず、ツクールMVのゲームをAndroidアプリにするにはCordovaというツールを使います。
公式のヘルプではCrosswalkというツールを使った方法が紹介されているのですが、すでCrosswalkプロジェクトは終了しているようで、必要なコマンドスクリプトファイル(make_apk.py)が手に入らないので、Crosswalkを使ったアプリ化はできないと思われます。
なので、いろいろと調べた結果、Cordovaを使うことにしました。
CordovaはCrosswalkよりも必要なプログラムが少なく、やり方もわかりやすいです。
Cordovaを使うために必要なものをインストール
Cordovaを使うには事前にいろいろなプログラムをインストールして、いろいろと設定をする必要があります。
まずは必要なプログラムについて紹介します。
必要なプログラムは以下です。
- JDK 1.8系
- Android Studio(SDK)
- Node.js
順番に説明していきます。
JDK 1.8系
AndroidアプリはJavaで動くのでJavaの動作環境が必要です。
JDKは《Java SE Development Kit》のことですが、これの1.8系のバージョンをインストールする必要があります。
バージョンがとても大事で、1.8系じゃないとアプリ化のときのビルドが通りません。
JDKはオラクルの公式サイトからダウンロードできます。
1.8系のダウンロードページはコチラです。
※ダウンロードするさいにアカウントの作成を求められるので、アカウントを持っていなければ作る必要があります。
インストーラーをダウンロードしたら、ダブルクリックでインストールできます。
流れのままにインストールすればOKです。
Android Studio(SDK)
次はAndroid Studio(SDK)です。
ツクール公式のヘルプではAndroid SDKとなっていますが、現在はAndroid Studioに統合されたようです。
なので、Android Studioをインストールしてから必要なものをインストールするという流れになります。
Android Studioのダウンロードはコチラからできます。
こちらもイントーラーがダウンロードできるので、流れのままにインストールします。
インストールしたら、必要なSDKを追加します。
初めてプロジェクトを作って、しばらくするとSDK Managerが使えるようになります。

起動したばかりだと、SDK Managerが表示されないのですが、待っていれば表示されるようになります。
SDK Managerから
- Android SDK Build-Tools
- Android SDK Platform-Tools
- Google USB Driver
を追加します。

Node.js
3つ目はNode.jsです。
Node.jsはCordovaのインストールコマンド(npmコマンド)を使うのに必要になります。
ダウンロードはコチラです。
推奨版と最新版がありますが、僕は推奨版にしました。
Node.jsもインストーラーをダウンロードして、ダブルクリックでインストールできます。
環境変数の追加と編集
いろいろとインストールしましたが、Cordovaで使うにはユーザの環境変数を設定して、システムの環境変数Pathに追加しなかればなりません。
設定するユーザの環境変数は
- ANDROID_HOME
- ANDROID_SDK_ROOT
- JAVA_HOME
です。
さらに、システムの環境変数Pathに
- %JAVA_HOME%\bin
- %ANDROID_HOME%\platform-tools
- %ANDROID_HOME%\tools
- %ANDROID_HOME%\tools\bin
- %ANDROID_HOME%\build-tools
を追加します。
ANDROID_HOMEはSDKのある場所です。
SDKの場所はAndroid Studioを起動してSDK Managerから確認できます。

ANDROID_SDK_ROOTはANDROID_HOMEと同じパスでOKです。
僕の環境ではANDROID_SDK_ROOTがないとなぜかJDKがきちんと認識されませんが、人によっては必要ないかもしれません。
JAVA_HOMEはJDKがインストールされた場所です。
C:\Program Files (x86)\Java\jdk1.8.x_xxx のような場所にあることが多いです。
JDKのJAVA_HOMEとPathが正しく設定されると、コマンドプロンプトからJavaのコマンドが使えるようになります。
確認のために Java -version と打ち込んでみましょう。

上のように表示されればOKです。
Cordovaのインストール
Cordovaのインストールはnpmというコマンドで行います。
コマンドプロンプトで次のように打ち込みます。
> npm install -g cordova
インストールはこれで完了です。
Cordovaを使ったアプリ化手順
準備ができたらいよいよRPGツクールMVのゲームをAndroidアプリ化する作業に入ります。
やることは以下です。
- Cordovaのプロジェクトフォルダ作成
- RPGツクールMVデプロイ後のwwwフォルダのコピー
- Cordovaプロジェクトのconfigファイル編集
- ビルド(デバッグ)
- ビルド(リリース)
Cordovaのプロジェクトフォルダ作成
最初にCordovaのプロジェクトフォルダを作成します。
プロジェクトフォルダ作成のコマンドは以下です。
> cordova create プロジェクトフォルダ名 パッケージ名 アプリ名 -d
このコマンドでプロジェクトフォルダは新しく作られるので、すでに存在しているフォルダ名にしないようにします。
パッケージ名ですが、これには決まりがあります。
- xxxxx.xxxのように.(ドット)で区切る
- パッケージ名は英数字と_(アンダーバー)にする
です。
アプリ名は日本語でもOKなので、作成したゲーム名でも入れておきましょう。
プロジェクトフォルダを作ったら、そのフォルダにコマンドプロンプトで移動します。
> cd プロジェクトフォルダのパス
プロジェクトフォルダの中でCordovaコマンドを使うことで、そのプロジェクトに対して処理が行われます。
プロジェクトフォルダに移動したら、Androidの設定をプロジェクトに追加します。
以下のコマンドを打ち込んでください
> cordova platform add android
プロジェクトフォルダは以上です。
RPGツクールMVデプロイ後のwwwフォルダのコピー
プロジェクトフォルダの中にwwwというフォルダがあります。
これはアプリの中身を入れるフォルダなのですが、これをツクールMVでデプロイしてできたwwwに入れ替えます。
一旦、プロジェクトフォルダのwwwをまるっと削除して、ツクールMVの方のwwwをコピーしちゃってもOKです。
Cordovaプロジェクトのconfigファイル編集
プロジェクトフォルダの中にconfig.xmlというファイルがあるので、これを編集します。
widgetタグ
一番外側のタグにwidgetタグがあります。
ここにはid属性とversion属性があります。id属性はパッケージ名です。
version属性は初期では1.0.0となっているので、ここはゲームのバージョンを入力しましょう。
authorタグ
email属性とhref属性があります。
emailにはメールアドレス、hrefにはブログやWebサイトのURLを入力します。
また、authorタグは作者名を入れます。例えば、僕のゲームならカレーねずみになります。
preferenceタグ(画面の回転情報)
preferenceタグはアプリ画面の回転に関する情報です。デフォルトでは書かれていないので、自分で追記する必要があります。迷ったらcontentタグの下に書いておけばOKです。ビルドは通ります。
preferenceタグに書く画面の回転情報は基本的に以下の2パターンのどちらかを書けばOKです。自分のゲームの画面に合わせて縦か横か指定しましょう。
縦画面:<preference name="Orientation" value="portrait" />
横画面:<preference name="Orientation" value="landscape" />
platformタグ
platformタグは2個あるんですが、対象のアプリ(Android/iOS)によって使う方が違います。
今回はAndroidアプリなので、name=”android”の方を使います。
ここに、ビルドに関する情報を追記します。
<preference name="android-targetSdkVersion" value="xx" />
<preference name="android-minSdkVersion" value="xx" />
追記するのはAndroidのバージョンです。Android Studioを確認してなるべく新しいSDKのバージョンを書くばOKです。
iconタグ
iconタグにはアイコン画像の画像名を入力します。
src属性にはwwwフォルダを含めた画像ファイルのパスを書きます。
<icon src="www/icon/icon.png" />
prepareコマンド
プロジェクトフォルダの中でファイルを編集したら、prepareコマンドをすることになっています。
> cordova prepare
ビルド(デバッグ)
ここまでくれば、ビルドできます。
コマンドは以下です。
> cordova build android

ビルドに成功すると、
プロジェクトフォルダ\platforms\android\app\build\outputs\apk\debug
の中にapkファイルが生成されます。
これをAndroidスマホにコピーすれば動作確認ができます。

画面のサイズですが、この画像は360×640です。
いろいろなサイズを試してみましたが、360×640がちょうどいいように思います。
ビルドエラー対応
今回RPGツクールMVのゲームをAndroidアプリするさいに、発生したビルドエラーとその対応について書いていきます。
Error: Could not find an installed version of Gradle either in Android Studio
これはGradleというファイルがないために起こるエラーです。
自分でGradleをインストールすることで解決できます。
- Gradle公式サイトからGradleダウンロード
- Android Studioの直下にインストール
- Gradleパスのを通す
Gradle公式サイトからGradleダウンロード
まずは、Gradleの公式サイトからGradleをダウンロードします。
公式サイトはコチラです。Installing manuallyというところでダウンロードできます。
Binary-onlyとCompleteというのがありますが、ダウンロードするのはCompleteの方です。
ダウンロードしたファイルはzipになっているので解凍して適当な場所に置いておきましょう。
Android Studioの直下にインストール
ダウンロード&解凍したGradleをAndroid Studioにインストールします。インストールといってもフォルダを置くだけです。
Android Studioは通常は
C:\Program Files\Android\Android Studio
などにインストールされるので、この直下に置きます。
Gradleパスのを通す
最後にGradleのパスを通します。
やることは2つです。
- ユーザの環境変数にGRADLE_HOMEを追加する
- システム環境変数のPathにGradleのパスを追加する
まずは、ユーザの環境変数にGRADLE_HOMEを追加します。
ここで追加するフォルダはREADMEなどは入ったフォルダになります。
例えば、
C:\Program Files\Android\Android Studio\Gradle\gradle-6.5.1
のようになります。
次に、システム環境変数のPathにGradleのパスを追加します。
これはコマンドへのパスになるので、
C:\Program Files\Android\Android Studio\Gradle\gradle-6.5.1\bin
のようになります。
以上でGradleのインストールは完了です。
環境変数を変更した後にコマンドプロンプトでそのままコマンドを打っても、変更した環境変数が反映されていません。
その場合はコマンドプロンプトを再起動してください。
Could not reserve enough space for 2097152KB object heap
これはJDKのヒープ(メモリー)が十分に確保できなかったというエラーです。
これはJavaの方でメモリーを増やしてあげればOKです。
具体的にはシステムの環境変数_Java_OPTIONSを追加します。
_Java_OPTIONS -Xmx512M
変数名は_(アンダーバー)から始まるので、忘れないようにしましょう。
まとめ
非常に長い説明になりました。
それくらいCordovaを使ったRPGツクールMVのゲームのAndroidアプリ化は面倒です。
一度できてしまえば何てことないんですが、その一度を達成するのが難しかったりします。
この記事が役に立てれば嬉しいです。
コメント