ほぼ自分用メモ。
目的は**「windows7でcocos2d-xのコンパイルをして、genymotionで動いているのを見る」** です。
コンパイルはコマンドから行っているので、eclipseなどの設定はありません。
まず、cocos2d-xを動くようにする
動いている画面が見られるまで行きませんが、とりあえずcocos2d-xが動くようになるようにします。
(参考サイトいっぱいありますので、すでに知っている方はスキップを)
参考:というかここを見ればよいです(さすが公式)
How to run cpp-tests on Windows | Cocos2d-x
ダウンロードするもの
- Cocos2d-x v3.2(Cocos2d-x: オープンソースゲーム開発プラットフォーム)
- Python v2.7 (Welcome to Python.org)
セットアップ
1. pythonをインストール
- サイトからダウンロードして、インストール
version2.7です、3系だと動きませんでした - pathを通す(環境変数)
例:C:\Python27\Scripts; (区切りの;を忘れないように) - コマンドプロンプトで確認
C:\Users\{user}>python --version
Python 2.7.9
2. cocos2d-x をインストール
- サイトからダウンロードしてインストール
例: C:\Users{user}\lib 配下 - setup.pyを実行
C:\Users\{user}\lib\cocos2d-x>python setup.py
Setting up cocos2d-x...
->Check environment variable COCOS_CONSOLE_ROOT
->Search for environment variable COCOS_CONSOLE_ROOT...
->COCOS_CONSOLE_ROOT is found : C:\Users\{user}\lib\cocos2d-x\tools\cocos2d-console\bin
->Check environment variable COCOS_TEMPLATES_ROOT
->Search for environment variable COCOS_TEMPLATES_ROOT...
->COCOS_TEMPLATES_ROOT is found : C:\Users\{user}\lib\cocos2d-x\templates
他にもいろいろ出ますが、とりあえず、 COCOS_CONSOLE_ROOT と COCOS_TEMPLATES_ROOT がセットアップされていればOKです
- 動作確認
cocos -h
C:\Users\{user}\lib\cocos2d-x\tools\cocos2d-console\bin\/cocos.py 1.5 - cocos console: A command line tool for cocos2d-x
Available commands:
run Compiles & deploy project and then runs it on the target
luacompile minifies and/or compiles lua files
deploy Deploy a project to the target
package Do a package operation
compile Compiles the current project to binary
framework Do a framework operation
new Creates a new project
jscompile minifies and/or compiles js files
Available arguments:
-h, --help Show this help information
-v, --version Show the version of this command tool
Example:
C:\Users\{user}\lib\cocos2d-x\tools\cocos2d-console\bin\/cocos.py new --help
C:\Users\{user}\lib\cocos2d-x\tools\cocos2d-console\bin\/cocos.py run --help
次にandroidのコンパイルができるようにする
ダウンロードするもの
-
Java SE Development Kit 8 - Downloads
android sdkをインストールするときに必要になるので、先にインストールしておくと良いです。
僕は、jdk-8u40-windows-x64.exe をインストールしました。 - Android sdk (Download Android Studio and SDK Tools | Android Developers)
sdk を落としたいのに、studioのダウンロードになってるんだけど・・・と思いましたが、sdkも一緒にダウンロードされますので迷わずstudioをどうぞ。
sdkのインストール先は、C:\Users{user}\AppData\Local\Android\sdkです。
tools単体の方は正直良くわからなかったのでスルーです。 - Android NDK 9r([Android NDK | Android Developers]
(https://developer.android.com/tools/sdk/ndk/index.html))
8e出ないと動かないなどの記事も見ましたが、動作確認できたのは、9rでした。
platformが足りないらしいので、9rからコピればいいのかもしれません。
また、公式のリンクからだと最新しかダウンロード出来ないので、「android ndk 旧バージョン」などで検索すると見つかると思います。 -
Apache Ant - Welcome
Binary Distributions をダウンロードしてインストール -
Cygwin
インストールするときに、makeもインストールしてください。
makeで検索して、develってやつをinstall状態にしてればOKです。
最近のcocosでは不要という記事も見ました。
僕は先に設定してしまったので不要かはわかりません。
環境変数のセットアップ
最終的に以下の環境変数をセットしないと、コマンドからはコンパイルできませんでした。
インストール or ダウンロード環境に合わせて設定してください
- ANDROID_SDK_ROOT
C:\Users{user}\AppData\Local\Android\sdk - NDK_ROOT
C:\Users{user}\lib\android-ndk-r9 - ANT_ROOT
C:\Users{user}\lib\apache-ant-1.9.4\bin - JAVA_HOME
C:\Program Files\Java\jdk1.8.0_40 - path (追記)
C:\cygwin\bin;
C:\Python27;
C:\Python27\Scripts;
C:\Users\yuichi\AppData\Local\Android\sdk\platform-tools;
C:\Users\yuichi\AppData\Local\Android\sdk\tools;
C:\Users\yuichi\lib\android-ndk-r9;
sdkのインストール
- android sdkの、フォルダ直下の SDK Manager.exe をダブルクリック
必要なものをダウンロードしてください。
今回の動作確認では、Tools、Extras、Android4.4.2 (API19)あたりをダウンロードしました。
プロジェクトの作成
- コマンドでプロジェクトを作成する
cocos new emptyGame -p com.company.group -l cpp -d C:\workSpace
- コンパイルする
cocos run -s C:\workSpace\emptyGame -p android --ap android-19
いろいろログが出て、最終的に waiting for devicesと表示されれば成功です。
エラーが出る場合は、自分の場合、大体は環境変数が間違っていました。
エミュレータで動かす
- android sdkの、フォルダ直下の AVD Manager.exe (Android Virtual Device) をダブルクリック
- create...ボタンを押して、デバイスを作成する
こんなかんじの設定
・AVD Name:sampleDevice
・Device:Nexus 7
・Target:Android 4.4.2 - API Level 19
・CPU/ABI:ARM(armeabi-v7a)
・Emulation Options:Use Host GPU
チェックを入れておかないと、起動時に落ちます - start... ボタンを押して起動
- エミュレータで起動
cocos run -s C:\workSpace\emptyGame -p android --ap android-19
起動したエミュレータにcocosのhello worldが表示されればOKです
genymotion で起動する
genymotionのインストール
・Oracle VM VirtualBox
・サイトからダウンロードしてインストール
コンパイルしたバイナリの転送をできるようにする
・Genymotionにアプリを転送しようとすると「INSTALL_FAILED_CPU_ABI_INCOMPATIBLE」エラー → 解決 | CreativeStyle
・[GUIDE] Genymotion | Installing ARM Translat… | Android Development and Hacking | XDA Forums
・genymotionのエミュレータをを作成して起動
・ARM Translation Installer v1.1.zip をダウンロードして、エミュレータ画面にドラッグアンドドロップ
・エミュレータの再起動
jni/Application.mkを修正
APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char -U__SSE__
APP_LDFLAGS := -latomic
APP_ABI := armeabi x86
-U__SSE__、と APP_ABI := armeabi x86 を追加しています。
エミュレータで起動
cocos run -s C:\workSpace\emptyGame -p android --ap android-19
起動したエミュレータにcocosのhello worldが表示されればOKです