はたはたのメモ

主に勉強したことについてのメモ用ブログです。PHPerを目指しています。Pythonはまりかけ。GitHub: https://github.com/a-japonicus

cocos2d-xのコマンドラインビルド

cocos2d-xのC++プロジェクトでコマンドラインビルドをやることがあったのでメモ。

コマンドラインからapkファイルをビルドをするためにはantを使う。
Gradleでもできるらしいがこっちは未調査。


まずは以下のソフトをインストールしてパスを通す。

これで android, adb, ndk-build, ant が使えるようになる。

次にandroidプロジェクトをupdateする。

android project update -p "プロジェクトのパス"

cocos2d-xは最初からant用のprojectが作成されているためupdateだけでいい。
updateする対象は最低限 project/プロジェクト名/proj.android と cocos2dx\platform\android\java の二つ。
ほかにプロジェクトを追加したらそれもupdateする必要がある。

とりあえずこれでプロジェクトのディレクトリで

ant debug

を実行すると bin ディレクトリ内にapkが作成されるはず。
Eclipseと並列でビルドしていた場合にはエラーが起こることがあるので、その場合は

ant clean build install

とすればcleanした後にビルドしてくれる。また、installとつけることにより、端末にインストールまでしてくれる。
初期設定のままだとJava部分だけビルドするようなので、C++ はcleanされない。
cocos2d-xはJava部分が少ないため、毎回リビルドしてもたいして時間はかからない。そのため、毎回cleanをつけたほうが良さげ。

また、antはJavaしかビルドしてくれないため、build_native.sh を事前に実行し、assetsファイルのコピーおよびC++のビルドを行う必要がある。
よってapkを作成するには

bash build-native.sh
ant clean debug install

と実行すれば端末にデバッグビルドがインストールされる。

releaseビルドを作成するには単に

bash build-native.sh
ant clean release install

とすればいいが、apkのインストールに失敗する。
releaseビルドの設定についてはまた次回。