ゲーム開発日記

楽しいよね。

[cocos2dx 3.3rc]Android開発環境構築 ~Mac~

新しくMacを買い替えて、cocos2dxの開発環境をセットアップしなおしたので、メモ

前提
・cocos2dxは3.3rc
mac book pro

インストール先を作成

mkdir ~/opt

ダウンロード

Android NDK

Android NDK | Android Developers
上記をダウンロードして、~/optに展開
シンボリックリンクを張りました。

$ cd ~/opt
$ ln -s android-ndk-r10c/ android-ndk

Android SDK

Android SDK | Android Developers
上記をダウンロードして、~/optに展開

ant

僕はHomebrewを使ってインストールしました。

$ brew install ant
$ ant -version
Apache Ant(TM) version 1.9.4 compiled on April 29 2014

~/optはこんな感じになりました(NDK -> android-ndk、SDK -> adt-bundle)

$ cd ~/opt
$ ls -l
drwxrwxr-x@  4 staff   136  7  2 12:18 adt-bundle
lrwxr-xr-x   1 staff    17 11  3 14:39 android-ndk -> android-ndk-r10c/
drwxr-xr-x  26 staff   884 11  3 14:38 android-ndk-r10c

環境設定

cocos2dxのディレクトリに入って、./setup.pyを実行し、Pathを設定する

.bash_profileの設定は下記のようになりました。

# Add environment variable COCOS_CONSOLE_ROOT for cocos2d-x
export COCOS_CONSOLE_ROOT=~/Desktop/cocos2d-x-3.3rc0/tools/cocos2d-console/bin
export PATH=$COCOS_CONSOLE_ROOT:$PATH

# Add environment variable NDK_ROOT for cocos2d-x
export NDK_ROOT=~/opt/android-ndk
export PATH=$NDK_ROOT:$PATH

# Add environment variable ANDROID_SDK_ROOT for cocos2d-x
export ANDROID_SDK_ROOT=~/opt/adt-bundle/sdk
export PATH=$ANDROID_SDK_ROOT:$PATH
export PATH=$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH

# Add environment variable ANT_ROOT for cocos2d-x
export ANT_ROOT=/usr/local/Cellar/ant/1.9.4/libexec/bin
export PATH=$ANT_ROOT:$PATH

プロジェクト作成&実行

先ほどの設定を有効にして、プロジェクト作成

$ source ~/.bash_profile
$ cocos new HelloWorld -p com.akichim.HelloWorld -l cpp -d ~/

エミュレータの設定してないと、実行時にエラーになります

$ cd ~/HellowWorld
$ cocos run -p android
...
...
building apk
Android platform not specified, searching a default one...
Can't find right android-platform for project : "/Users/nownabe/projects/HelloCocos/proj.android". The android-platform should be equal/larger than 10

エミュレータをインストールするためにandroidを実行。

$ android

今回はandroid5を丸っとインストールしました。(ほかのosバージョンでも良いです)

確認。

$ android list target
Available Android targets:
----------
----------
id: 1 or "android-21"
     Name: Android 5.0
     Type: Platform
     API level: 21
     Revision: 1
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
 Tag/ABIs : android-tv/armeabi-v7a, android-tv/x86, default/armeabi-v7a, default/x86, default/x86_64

エミュレータ作成。最初のコマンドでyesを入力して、gpuをyesにしないとunfortunately has stoppedでエラーになります。

$ android create avd -n cocos -t 1 -b default/armeabi-v7a

Do you wish to create a custom hardware profile [no]yes

....
DPad support: Whether the device has DPad keys
hw.dPad [yes]:

GPS support: Whether there is a GPS in the device.
hw.gps [yes]:

GPU emulation: Enable/Disable emulated OpenGLES GPU
hw.gpu.enabled [no]:yes

GSM modem support: Whether there is a GSM modem in the device.
hw.gsmModem [yes]:

Keyboard support: Whether the device has a QWERTY keyboard.
hw.keyboard [no]:
....

エミュレータ起動。

$ emulator -avd cocos

サンプルプロジェクト実行。

$ cd ~/HellowWorld
$ cocos run -p android

以上で実行できました!