tamuraです。
Cocos2d-x v3.8 の環境を作ってみました。
3.7からはAndroidStudioにも一応は対応しています。
が、まだ完全対応ではないのでEclipseか使い慣れたエディタでやるのが良さそうです。

Linux(Ubuntu 14.04LTS)でやっています。

ダウンロードが多いのでかなり時間がかかります。。。


事前準備

以下の環境が必要です。

  • JDK 1.7以上
  • Apache Ant
    • 以下の環境変数を設定しておきます
      • ANT_HOME
      • ANT_ROOT(${ANT_HOME}/bin)
  • Python 2.7(2系)

通常のAndroid開発環境の構築

Android SDKとAndroid NDKを落として展開します。
あとはcocosがうまくやってくれるので、パスの設定や環境変数の設定等は不要です。

SDK

https://developer.android.com/sdk/index.html
Other Download Options
SDK Tools Only
からSDKをダウンロードして展開します。

wget http://dl.google.com/android/android-sdk_r24.3.4-linux.tgz  
tar xvzf android-sdk_r24.3.4-linux.tgz  

Android SDK Managerを起動してなんか必要そうなものを色々と落としてきます。

android-sdk-linux/tools/android  

sdkmanager

NDK

https://developer.android.com/ndk/downloads/index.html
からNDKをダウンロードして展開します。

wget http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin  
chmod a+x android-ndk-r10e-linux-x86_64.bin  
./android-ndk-r10e-linux-x86_64.bin

Cocos2d-xの構築

http://www.cocos2d-x.org/download/version
ここから落として展開します。

cd cocos2d-x-3.8  
./setup.py

ANDROID-SDKとかANDROID-NDKを展開したパスを入力したらセットアップは完了です。
これは ~/.bashrc に環境変数を追記するだけなので、間違ったらその部分を消してもう一度やり直せば大丈夫です。

hello world

helloworldとかいう名前だと既存とかぶる可能性があるため、HLというプロジェクトでやっていきます。

cocos new -l cpp HL  
cd HL  
ls

CMakeLists.txt  
Classes  
Resources  
cocos2d  
proj.android  
proj.android-studio  
proj.ios_mac  
proj.linux  
proj.win10  
proj.win32  
proj.win8.1-universal  

proj.androidをeclipseで開けば今までどおりeclipseで開発ができます。 proj.android-studioをAndroidStudioで開けば一応はAndroidStudioで開くことができます。 (C++はEclipseの方がまだ使いやすいかな...)

とりあえずproj.android下で作業をしていきます。

cd proj.android  
cocos compile -p android  

最初はC++でコンパイルが走ります。超重いです。 最後にantでビルドプロセスが走り、bin/下にAndroid用パッケージが生成されます。 これを実機に転送すれば動きます。

エミュレータ

Genymotionというエミュレータがあります。
AndroidSDK付属のエミュレータだと遅いため、このエミュレータを使うのが良いようです。

https://www.genymotion.com/

ダウンロードや実行にはアカウントが必要になりますが、個人使用であれば無料で使うことができます。

chmod a+x genymotion-2.5.2_x64.bin  
./genymotion-2.5.2_x64.bin

GenymotionはVirtualBoxを使うため、入っていない場合はVirtualBoxを入れておきます。

設定

adb接続のためにAndroid SDK toolsのパスを設定します。

Use custom Android SDK toolsを選択して、ディレクトリを指定します。 これでcocosからコンパイル済みのパッケージを転送したり、ログを参照したりすることができます。

genymotion-setting-adb

ビルド

Genymotionはx86なので、x86用にコンパイルする必要があります。

vi jni/Application.mk  

以下の設定を追加します。

APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char -U__SSE__  
APP_ABI := armeabi x86  

コンパイル用のフラグに-U__SSE__を、APP_ABIarmeabix86を指定します。 特にGenymotionで動かす際は-U__SSE__を付けないと意味不明な落ち方をします。

unfortunately

この設定を追加するとすべてを再ビルドするのでかなりお待ちください。 その間にGenymotionでAndroidでも起動しておきましょう。

cocos run -p android  

うまく行くとHello Worldを見ることができます。

android-emulator