Windows での Cocos2d-x の導入(cpp-testsをAndoridにインストールするまで)
全然解説サイトが無く苦労したので書いておきます。
【この説明は、公式サイトでも英語で読むことができます】
http://cocos2d-x.org/wiki/How_to_run_cpp-tests_on_Android
途中でいろいろ詰まったので、公式の説明を補完する気持ちで書いていきます。
OS : Windows8.1 64bit
最低限必要な物
・Cocos2d-x
・Android SDK
・Android NDK(※SDKとNDKは異なるものです、両方ともインストールしましょう)
インストールらしいインストールはSDKだけ。
cocos2d-x と Android NDK は zipファイルなので、解凍して、置きたいとこに置くだけ。
ちなみに自分は C:/Android/ ディレクトリに3つ全て置きました。
フォルダ名はバージョン名含めて「cocos2d-x-3.6」とかになってるけど、
後々のこと考えると、「cocos2d-x」とフォルダ名を変えておいた方が、
cocos2d-x自体のバージョンアップ時に対処できるのでいいかも。
SDKをインストールしたら、SDK Manager を起動して、
APIをダウンロードしておきましょう。
Android OS のシェアはググると出てくるので、そこ参考にダウンロードするといい感じ。
私は 5.1.1, 5.0.1, 4.4.2, 4.2.2, それから、Extras の全てをダウンロードしました。
けっこう時間かかります。
環境変数の設定
さて、入れ終わったら、cocos2d-x/setup.py を実行して、SDKやNDKを入れた場所を教えましょう。
Apacche ant をインストールした場所も聞かれます。
インストールしてなかったのでググってインストールしました。
setup.pyが起動しない場合は、Pythonが入っていません。Pythonをインストールしましょう。
(ただし、2015/5/8での最新は v2.7.9 と v3.4.3 ですが、cocos2d-xは現時点でv3系列には対応していませんので、v2.7.9 をダウンロードしてください)
インストールするものいっぱいですね。
けっこうたるいところです。
なお、このsetup.py、使ってみると分かるのですが、
環境変数のANDROID_SDK_ROOTやCOCOS_CONSOLE_ROOTなどを代わりに入れてくれるものになっています。
なので、これを使わず、手動で環境変数を入力することも出来なくはありません。
環境変数のPATHについてもsetup.pyで勝手に足してもらえるのですが、実は足りません。
必要なPATHを書いておきますと以下の4つです。
(※上述の通り、私は「C:/Android」ディレクトリにcocos2d-xもSDKもインストールしています)
C:\Android\cocos2d-x\tools\cocos2d-console\bin;C:\Android\cocos2d-x\templates;C:\Android\android-sdk\platform-tools;C:\Android\android-sdk\tools;
おそらくは前半2つしか足されていないと思うのですが、あとの2つはとても重要です。
cocos2d-x\tools\cocos2d-console\bin:コマンド cocos が置いてある
cocos2d-x\templates:わからない
android-sdk\platform-tools:コマンド adb が置いてある
android-sdk\tools:コマンド android が置いてある
これ公式サイトに説明無いのでハマりました。特にandroidはexeでなくbatファイルなので気付かないでいました。
この記事を書きながら発見しました。お気を付けください。
Pythonを初めてインストールした方は、python.exe の場所のPATH指定も忘れずに。cocosコマンドを動かすのに必要です。*1
ビルド
ここまで来ればもうあとは簡単です。公式サイトを見た方がわかりやすいかもしれませんね。
android list target
を実行すると、SDK ManagerでインストールしたAPIの一覧が確認できます。*2
(実行結果の一部を抜粋) ---------- id: 4 or "android-22" Name: Android 5.1.1 Type: Platform API level: 22 Revision: 2 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in Tag/ABIs : android-tv/armeabi-v7a, android-tv/x86, default/armeabi-v7 a, default/x86, default/x86_64 ---------- id: 5 or "Google Inc.:Google APIs:17" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 3 Description: Android + Google APIs Based on Android 4.2.2 (API level 17) Libraries: * com.android.future.usb.accessory (usb.jar) API for USB Accessories * com.google.android.media.effects (effects.jar) Collection of video effects * com.google.android.maps (maps.jar) API for Google Maps Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in Tag/ABIs : default/armeabi-v7a ----------
cocos2d-x/build ディレクトリに移動して、
android-build.py -p 19 cpp-tests
を実行することで、API 19 を使って、「cocos2d-x\tests\cpp-tests」にあるデータのAndoroid用ビルドがおこなわれます。
(公式サイトには「python android-build.py -p 19 cpp-tests」
とあるけれど、そうするとpythonが起動してしまった……)
-p の p はプラットフォームの p です。
ですので、今回はAndroid 4.2.2 (API 19)以上向けのビルドでしたが、
API 22 の機能をフルに使ったものでしたら、上の19は22とします。
それなりの時間がかかったのち(30秒くらい?)ビルドが完了すると、
debug: BUILD SUCCESSFUL Total time: 24 seconds Move apk to C:\Android\cocos2d-x\tests\cpp-tests\bin\debug\android build succeeded.
と表示されます。
おめでとうございます! Android携帯をお持ちの方は一度は見たことはあるかもしれない、
実行ファイル apkファイルが上記のフォルダに出力されました。
ここでは「C:\Android\cocos2d-x\tests\cpp-tests\bin\debug\android」に出力されたようですね。
インストール
もちろん、apkファイルをAndroidに移動させて、スマホでインストールってこともできると思いますが、パソコンからでも出来ます。
Androidの設定で、USBデバッグモードにしてから、パソコンとつなぎます。
USBデバッグモードにする方法はこちらをご覧ください。
Android端末を「デバッグモード」(USBデバッグ)に設定する | AndMem
そうしてコマンドプロンプトで先ほどのapkファイルが出力されたフォルダに移動した後、
adb install CppTests-debug.apk
を実行すると、スマホにインストールされていきます。
長くなりましたが、以上です。
今、記事書き終わって初めて、スマホでCppTestsを起動させてみたんですが、シュールですねこれ(笑)
[追記-2015/5/24]
友人に勧められたけど、この本が良さげ。ってか買っちゃいました。
cocos run でアプリが起動できるの知らなかった……(54ページ
cocos2d-xではじめるスマートフォンゲーム開発 [cocos2d-x Ver.3対応] for iOS/Android
- 作者: 三木康暉
- 出版社/メーカー: 技術評論社
- 発売日: 2014/12/27
- メディア: 大型本
- この商品を含むブログ (1件) を見る
出来る範囲はターミナルとテキストエディタで済ませたい派なので、
IDEに依存しすぎてない説明で好き。(それでも序盤でEclipseはたびたび出てくるけど)
わりとオススメ。