cocos2dx-3.5 eclipseでAndroid開発環境の構築(macOSX)

# 概要

- 3.6 ではAndroidのビルドに成功しない [^1]
- なので 3.5-tizen を使っている
- iOSは簡単なので省く
- macOSX対象
- build後の動作確認には実機を使います
 - 実機での確認方法は書いていません

## 1. download

- http://www.cocos2d-x.org/download/version#Cocos2d-x
 - 3.5-tizen を使う (3.5でも良いと思う)
- eclipse
 - Version: 4.2.1
- SDK
 - https://developer.android.com/sdk/index.html#Other
- ndk
 - https://developer.android.com/ndk/downloads/index.html#Downloads
- ApacheAnt
 - http://ant.apache.org/bindownload.cgi

## 2. DL物の配置

どこでも良いです

```text:例
android/
|-- ndk
|   `-- android-ndk-r10b
`-- sdk
    `-- android-sdk-macosx
apache-ant/
`-- apache-ant-1.9.5
cocos2d-x/
`-- versions
    `-- cocos2d-x-3.5-tizen
```

## 3. eclipseの設定

### 3.1 各パスの設定
eclipseでビルドするならば、よく説明のある `setup.py` は実行しなくて良い
ここでの設定は全プロジェクトに適応される
`Eclipse -> 環境設定 -> C/C++ -> Build -> Environment`
以下4つを設定する (v3.3辺りから4つ必要になった)

- ANDROID_SDK_ROOT (ADDで追加)
- ANT_ROOT
- NDK_ROOT
- PATH (これだけ [Select...] から指定する)
 - `:<path to cocos2d-x>/tools/cocos2d-console/bin` を追記する

![スクリーンショット 2015-06-23 1.28.28.png](https://qiita-image-store.s3.amazonaws.com/0/59518/c967aab1-fbd1-b53b-8268-c41cc998660c.png)

### 3.2 AndroidNDK

![スクリーンショット 2015-06-30 1.38.10.png](https://qiita-image-store.s3.amazonaws.com/0/59518/4cc4699d-95b0-da9f-fc83-96e437fb8ab9.png)


### 3.2 AndroidSDK

SDK Locationを入力する

![スクリーンショット 2015-06-23 1.22.14.png](https://qiita-image-store.s3.amazonaws.com/0/59518/5ed77324-0e4f-421d-3af6-85463fb14d06.png)

### 3.3 AndroidSDKのダウンロード

eclipseの `Window -> Android SDK Manager` を選択

![スクリーンショット 2015-06-23 11.40.37.png](https://qiita-image-store.s3.amazonaws.com/0/59518/a227f19b-94a8-6998-f5ac-f38905e0ccd0.png)

- v3.5 なら画像の青いチェック(API-19)が入っているものだけ指定して Install Packageしておけば恐らく問題ない(?)
- Installに時間も容量もかかるので、できれば最低限で済ませたい

![スクリーンショット 2015-06-23 11.43.29.png](https://qiita-image-store.s3.amazonaws.com/0/59518/1c377ae4-5eb1-0dfc-5ada-5ac82cfe94e2.png)

## 4. cocos2dx projectの作成

```:作成コマンド
$ <cocos2dx_directory>/tools/cocos2d-console/bin/cocos new <project_name> -p com.sample.test -l cpp -d <project配置作成したいディレクトリ>
```

```:例
$ ~/cocos2d-x-3.5-tizen/tools/cocos2d-console/bin/cocos new TestProject -p com.sample.test -l cpp -d ~/cocos2d-x/projects/
```

## 5. project を eclipse で開く

![スクリーンショット 2015-06-23 1.16.34.png](https://qiita-image-store.s3.amazonaws.com/0/59518/1a31d443-f736-b6bf-1778-12bb52e10b60.png)

![スクリーンショット 2015-06-23 1.16.47.png](https://qiita-image-store.s3.amazonaws.com/0/59518/de954c46-4dcb-8ccc-1774-1da78f9e10ea.png)

### 5.1 libcocos2dx ディレクトリを読み込む

projectをビルドする際、参照させるために必要です
cocos2dx本体にある `cocos/platform/android/java` を指定する

![スクリーンショット 2015-06-23 1.17.50.png](https://qiita-image-store.s3.amazonaws.com/0/59518/f9d438d0-35d7-eb9b-394e-6cb5989fa228.png)

### 5.2 ビルド対象プロジェクトを読み込む

こちらはcocosコマンドから作成したプロジェクト内の
`proj.android` を指定する

![スクリーンショット 2015-06-23 11.30.44.png](https://qiita-image-store.s3.amazonaws.com/0/59518/754a0b29-992d-2577-1454-4b25c7558034.png)

## 6. ビルド

### 6.1 libcocos2dxのパスを修正する

![スクリーンショット 2015-06-23 11.48.06.png](https://qiita-image-store.s3.amazonaws.com/0/59518/3b4f1a32-f8fe-40e2-9560-e2adde7cb377.png)

- Build Targetを Android4.4.2(API-19) にする
- `Library` の `libcocos2dx`　へのパスが大抵間違っているので  
`Remove` -> `Add` で `libcocos2dx` を選択し直す  
(✕　から　✓　になったらOKかも)

![スクリーンショット 2015-06-23 11.48.30.png](https://qiita-image-store.s3.amazonaws.com/0/59518/e8acb61e-35f7-8b7f-bffd-f796ebc17da4.png)

### 6.2 build

実機を接続してbuild

![スクリーンショット 2015-06-23 11.51.40.png](https://qiita-image-store.s3.amazonaws.com/0/59518/e966fe19-6e8b-4bb1-1607-9846cecd9f3f.png)

# 注釈
[^1]: こんなエラーが出てググっても解決できない  ```sh: cocos: command not foundjava.lang.UnsatisfiedLinkError: Couldn't load cocos2dcpp: findLibrary returned null```