読者です 読者をやめる 読者になる 読者になる

cocos2d-x環境構築(Windows10 Android Studio)

Android

Windows10マシンにcocos2d-xを導入してAndroid Studioでの開発環境を構築した時のメモ。

0.必要なもの
JDK 1.8.0_101 2016/09/04時点
Android Studio 2.1.3 SDKは22が必要、NDKはr12b
Cocos2d-x 3.13 3.10では動かない
Python 2.7.12  
Apache Ant 1.9.7  
1.インストール

JDK
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
f:id:stzx:20160904103508j:plain
ダウンロードしたファイルを実行。普通に「次へ」を選んでいきインストール完了。

Android Studio
https://developer.android.com/studio/index.html
f:id:stzx:20160904104856j:plain
こちらも普通にすすんでいき問題なくインストール完了。

Python
https://www.python.org/downloads/
※2系をインストール
f:id:stzx:20160904104912j:plain
すんなりインストール完了。

Apache Ant
http://ant.apache.org/bindownload.cgi
f:id:stzx:20160904105807j:plain
ダウンロードしたファイルを解凍。Cドライブ直下に配置する。

●Cocos2d-x
ここで大ハマり。
cocos日本語サイトのトップページからのリンクをたどった先にあるv3.10をダウンロードしてインストールするもどうやっても後述のビルドができない。
どうやらバグっているらしい。最新のバージョンをダウンロードしてきてインストールするとあっさりビルドできてしまった。。
英語サイトからv3.13をダウンロード。
http://cocos2d-x.org/download/version#Cocos2d-x
f:id:stzx:20160904113803j:plain
ダウンロードしたファイルを解凍。Cドライブ直下に配置する。

2.Android Studio Setup

Android Studioを起動し初期設定を行う。
(1)JDKのパスを「detect」ボタンを押下または直接入力する。
f:id:stzx:20160904124953j:plain
(2)道なりにすすみSDKコンポーネントのセットアップを行う。
f:id:stzx:20160904125244j:plain
(3)Cofigureをクリックし、そこからSDK Managerを立ち上げる。
f:id:stzx:20160904125415j:plain
(4)以下をインストールする。(最初何が必要かわからなくて苦戦した・・・)

Android SDK Platform 22
ARM EABI v7a System Image
Android SDK Build-Tools 22.0.1
NDK

(a)「SDK Platforms」タブ押下 →右下の「Show Package Details」にチェック→Android5.1(Lollipop)配下の「Android SDK Platform 22」と「ARM EABI v7a System Image」のチェックボックスをON
f:id:stzx:20160904193106j:plain
(b)「SDK Tools」タブ押下 →右下の「Show Package Details」にチェック→Android SDK Build-Tools配下の「Android SDK Build-Tools 22.0.1」のチェックをON
f:id:stzx:20160904193435j:plain
(c)同じく「SDK Tools」タブで表示される一覧から「NDK」のチェックをON
f:id:stzx:20160904193458j:plain
(d)最後に「Apply」ボタンを押下。終わるのをじっと待つ。

3.環境変数の設定

(Windows10で復活した)スタートメニューで右クリック→「システム」→「システムの詳細設定」→「環境変数
(1)システムの環境変数の「新規」ボタンを押下。以下の設定を追加。

変数名 変数値
JAVA_HOME C:\Program Files\Java\jdk1.8.0_101
ANDROID_SDK_ROOT C:\Users\【自身のユーザー名】\AppData\Local\Android\sdk
NDK_ROOT C:\Users\【自身のユーザー名】\AppData\Local\Android\sdk
ANT_ROOT C:\apache-ant-1.9.7\bin

(2)システムの環境変数で変数「Path」を選択し「編集」ボタンを押下。環境変数名の編集画面で新規を押下し以下を追加。
・C:\Users\【自身のユーザー名】\AppData\Local\Android\sdk\platform-tools
・C:\Users\【自身のユーザー名】\AppData\Local\Android\sdk\tools\ndk-bundle
・C:\Python27

4.setup.pyを実行

スタートメニュー右クリックからコマンドプロンプトを起動し、Cocosを配置したディレクトリ直下のsetup.pyをたたく

cd c:\cocos2d-x-3.13
python setup.py

f:id:stzx:20160904132841j:plain

5.cocosプロジェクト作成

コマンドプロンプトを一旦終了し、再度コマンドプロンプトを立ち上げる。
cocos new コマンドを実行し、プロジェクトを作成する。

cocos new TestProject -p com.TestDomain.TestProject -l cpp -d C:\CocosProjects

・new のあとには任意のプロジェクト名を指定
・-p のあとにはパッケージ名を指定
・-l は言語名を指定。cppだとC++
・-d はプロジェクトを格納するディレクトリを指定

6.Application.mkを編集する

C:\CocosProjects\TestProject\proj.android-studio\app\jni\Application.mkの最後に以下の一行を追記する。

APP_PLATFORM := android-15

※Android4.0.3(API15)以降を対象

7.settings.gradle編集する

C:\CocosProjects\TestProject\proj.android-studio\settings.gradleの最後に以下の二行を追記する。

include ':Classes'
project(':Classes').projectDir = new File(settingsDir, '../Classes')
8.エミュレータを作成し起動する(実機がない場合)

(1)コマンドプロンプトからAVD Managerを起動する。

android avd

(2)AVD Managerが立ち上がったら「Device Definitions」タブを選択→「Nexus5」を選択→「Create AVD...」ボタンを押下
f:id:stzx:20160904200329j:plain
(3)作成用の画面がポップアップするので

AVD NAME 任意の名前 デフォルトのままで変更しなくてもOK。今回はNexus5に変更
Taget Android5.1.1 API Level 22  
CPU/ABI ARM(Armeabi-v7a) ほかにインストールしていないのでTarget選択時に自動で入力される
Skin No skin  
Use Host GPU チェックする  

最後に「OK」ボタンを押下する。
f:id:stzx:20160904200853j:plain
(4)エミュレータが作成される。
引き続き「start」ボタン→「Launch」の順に押し起動する。
むちゃくちゃ重い!!
なので実機を用意して接続したほうがいい。
f:id:stzx:20160904145551j:plain
※以降エミュレータの起動のみであれば、コマンドラインから

emulator -avd Nexus5

でOK。引数は先ほど作成時に付けた名前。

9.ビルド&ラン

(1)Android Studioを立ち上げる。
「Open an existing Android Studio project」から、手順5で作成したプロジェクトフォルダ(C:\CocosProjects\TestProject\proj.android-studio)を選んでOKを押す。
f:id:stzx:20160904150658j:plain
f:id:stzx:20170104215903p:plain
(2)termialウインドウを開く。
f:id:stzx:20170104221353p:plain
(3)ビルド
ターミナルウインドウで以下のコマンドを実行する。

cocos run -p android --android-studio

(2回目以降に単に実行するだけなら画面上部のRunボタン押下だけでよい。)
(4)そして、Hello World
f:id:stzx:20160904203354j:plain