[Cocos2d-x][Android] Cocos2d-x 3.0 プロジェクトの ビルド環境を Eclipse で構築する

cocos2d-x

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Cocos2d-x 3.0 で Android アプリを開発

これまでは iOS アプリをビルドすることを目的に、Xcode を使って Cocos2d-x 3.0 のビルド環境を構築してきました。今回は Android アプリをビルドすることを目的に、Eclipse でビルド環境を構築してみたいと思います。

Cocos2d-x 2.2.3 のときの構築手順と大きな違いはありませんでしたが、最新の環境構築手順としてまとめておきたいと思います。

動作環境

今回は以下の環境で構築しました。

  • Mac OS X 10.9.2
  • Python 2.7.5
  • Android SDK Tools 22.6.3
  • Android NDK Revision 9d
  • Eclipse JUNO 4.2.1 (ADT Bundle)

Mac を使っている場合、ごく普通の Android NDK ビルド環境が整っていれば問題なさそうです。環境構築を行うときには、Cocos2d-x の公式 Wiki に記載されている推奨環境もご確認いただければと思います。

Eclipse の環境設定

Android NDK のインストール

NDK のビルド環境が既に構築しているかたは不要な作業ですので、次項に進んでください。

まず Cocos2d-x のビルドには NDK が必要なので、まずは NDK のビルド環境を作ります。次のダウンロードサイトから NDK のソースコードをダウンロードし、適当なフォルダに解凍してください。

Android NDK | Android Developers

次に Android NDK プラグインを Eclipse にインストールします。メニューから「Help」>「Install New Software...」を選択し、「Work with:」にデフォルトで登録されている「update site: https://dl-ssl.google.com/android/eclipse/」を選択し、「NDK Plugins」にチェックを入れてインストールします。

cocos2d-x-android01

インストール後、再起動が求められます。再起動したあと、メニューから「ADT」>「環境設定...」を選択して環境設定ウインドウを開きます。左メニューから「Android」>「NDK」を選択し、NDK の設定画面に表示される「NDK Location」に先ほどダウンロードしてきた NDK のフォルダを指定してください。

cocos2d-x-android02

これで NDK のビルド環境が整いました。

Cocos2d-x 用の環境設定

次に Cocos2d-x 用の環境設定を行います。まずはメニューから「ADT」>「環境設定...」を選択して環境設定ウインドウを開きます。左メニューから「C/C++」>「Build」>「Environment」を選択し、VariableNDK_ROOTValue に NDK のフォルダを指定したセットを追加してください。

cocos2d-x-android03

これで環境設定は終わりです。ウインドウを閉じましょう。

新規プロジェクトを作成する前に!

環境構築が終わったので、あとは Cocos2d-x プロジェクトのビルドに移りたいところですが、その前に少しだけ行っておかなければいけない作業があります。

というのも、そのままだと Cocos2d-x 3.0 で生成した Android プロジェクトが Eclipse でビルドできない問題があります。Cocos2d-x 3.0 の プロジェクトテンプレートの .project ファイルがよろしくない点と、 .cproject がそもそも存在しないという点が原因なので、この2つのテンプレートを修正してあげる必要があります。この問題は Cocos2d-x 3.1 で解決されているので、3.1 のリポジトリからダウンロードすることができます。以下よりそれぞれダウンロードし、Cocos2d-x のフォルダの templates/cpp-template-default/proj.android に配置してください。

.project
https://github.com/cocos2d/cocos2d-x/blob/cocos2d-x-3.1rc0/templates/cpp-template-default/proj.android/.project

.cproject
https://github.com/cocos2d/cocos2d-x/blob/cocos2d-x-3.1rc0/templates/cpp-template-default/proj.android/.cproject

cocos2d-x-android04

これで OK です。

サンプルプロジェクトを作ってビルドしてみる

環境構築が終わりましたので、サンプルプロジェクトをビルドしてみたいと思います。次のコマンドを実行し、新規プロジェクトを作成してください。

# cocos2d-xの新規プロジェクトを作成する
$ cocos new SampleGame -p jp.classmethod.SampleGame -l cpp
Runing command: new
> Copy template into /Users/suwa-yuki/SampleGame
> Copying cocos2d-x files...
> Rename project name from 'HelloCpp' to 'SampleGame'
> Replace the project name from 'HelloCpp' to 'SampleGame'
> Replace the project package name from 'org.cocos2dx.hellocpp' to 'jp.classmethod.SampleGame'

プロジェクトが作成できたら、Eclipse に Cocos2d-x のライブラリプロジェクトとアプリのプロジェクトをインポートしましょう。 SampleGame/cocos2d/cocos/2d/platform/android/java フォルダと SampleGame/proj.android フォルダをそれぞれインポートしてください。

cocos2d-x-android05

これで完了です。ビルドすると Android で起動できるはずです!

cocos2d-x-android06

まとめ

テンプレート周りで少し問題がありますが、Cocos2d-x 3.1 では解決しているので早くメジャーバージョンになって欲しいですね。手順通り進めれば、割と短時間で環境構築できるので、ぜひ試してみてください。

  • KojiYamashita

    この手順を行えば、build_native.pyでビルドさせないでEclipseの実行ボタンでビルドできるのでしょうか?それともEclipseのどこかにbuild_native.pyを実行するように設定をしたりするのでしょうか?

    • suwa.yuki

      >KojiYamashitaさん

      コメントいただきありがとうございます!
      build_native.pyを実行する設定は.cprojectファイルに記述されているので、
      テンプレートから.cprojectファイルをコピーしてEclipseにインポートするだけで設定できます。
      ぜひ試してみてください!