curious4dev

中国旅行、Arduinoなどを使った電子工作、その他色々。

*

Win7(64bit)+cocos2dx-3.2でAndroid開発環境を構築してみた

 

お疲れ様です。高橋です。

ゲームを作る際に、自分で1から細々とした部品を作らなくても良いフレームワークやらエンジンやらが世の中にはあるようです。

調べた所、その2大巨頭がcocos2d-xというフレームワークと、

cocos2dxUnityというゲームエンジン。

unity

cocosもunityも、いずれも複数のプラットフォームに対応したコードを吐き出せるという事ですが、ゲームを作る上で必要な部品を1から作成しなくても良いという所に魅力を感じました。ただし、cocos2d-xはC/C++、unityはC#がデファクトスタンダードのようです。言語的な好みで言えばおそらく私はC/C++よりもC#が好きなはずですが、言語はとりあえずなんとかなると思うので、まずは環境の使い勝手を確かめるため、導入してみました。

環境を構築する上でお世話になったのはこちらのサイトです。この素敵なサイトでの環境構築手順をザックリと書くと、

  • cocos2d-xをDL(ココから)し、C直下に”cocos2d-x”というディレクトリを作成し、展開。

cocos_path

  • AndroidNDKをDL(ココから)し、C直下に”Android”というディレクトリを作成し、展開。

ndk_path

  • pythonをDL(ココから)し、インストールする。(C:\Python27)

python_path

 

  • EclipseのAndroid ネイティブ開発ツールをインストールする(“作業対象”に、同じURLを示しているものが2つ登録されている場合、片方を削除しておかないとインストールが上手くいきませんでした。)

eclipse_plugin

  • EclipseでNDKのディレクトリを指定する(2箇所)

eclipse_ndk_path

eclipse_ndkcpp_path

  • cocos2dxのディレクトリを指定する

eclipse_cocos_path

  • cocosのために環境変数を設定する
C:\cocos2d-x\cocos2d-x-3.2\setup.py
  • cocos新規プロジェクトを作成する
cocos new MyGame -p com.MyCompany.MyGame -l cpp -d D:\projects
  • 作った新規プロジェクトをbuildする
cd /d D:\projects\MyGame\proj.android
build_native.py
  • cocosのライブラリをEclipseにimportする
  • 作った新規プロジェクト(MyGame)をEclipseにimportする

全てが問題なく終わると、パッケージ・エクスプローラーにはlibcocos2dxとMyGameという2つのプロジェクトが生成されます。

eclipse_workingset

 

MyGameのほうで右クリ/デバッグ/Androidアプリケーション、と進めると、下記の画面が出てきます。

and2014112401

この画面を出すまでに大ハマリしてます。

java.lang.UnsatisfiedLinkError: Couldn't load cocos2dcpp: findLibrary returned null

な感じのExceptionが発生し、実行出来ませんでした。

原因はこれです。

avd

もともと303SHというAVDを作って起動させようとしていたのですが、これはIntel Atomをエミュったエミュレータなので、正しく動作しませんでした。CPUタイプをARMにした303SH_ARMというAVDを作って、やっと動かせました。

ってことは、IntelのHAXが使えず、激重なエミュのままという事になります。これは最悪です。ARMのエミュは起動までにものすごく時間が掛かるため、作って試して、のサイクルが遅くなり、モチベーション低下に繋がります。

それと、「新しい事は良い事」と考えておりましたので、cocos2d-xの最新バージョンであるv3.3rc0と、Android NDKをr10cにして、やり方だけ上記のサイトに則って進めてみました。

しかし、最後の起動の所で

Multiple dex files define Lorg/cocos2dx/lib/Cocos2dxAccelerometer

な感じのエラーが出て起動せず。最終的な原因は不明ですが、NDK9+3.3rc0が悪さしていると思われました。3.3はfinalが出てから再チャレンジしてみます。

 

以上、よろしくお願い致します。

 - アプリ開発

  関連記事

DAWを使って、ゲームの裏側で鳴らす音楽を作ってみた。

お疲れ様です。高橋です。 既に時期を逸してしまった、「選挙運動シミュレータ 衆院 …

URL付き言い訳提案システム 稼働初日

お疲れ様です。高橋です。 本日から、よりDL数を高める施策として、提案の中にUR …

Androidで8bitサウンドをモノフォニックな感じで実装してみた。

お疲れ様です。高橋です。 Arduino+YMZ294で、8bitサウンドがマイ …

8bit音アプリを実機デバッグし、モスキート音モードを追加してみた。

お疲れ様です。高橋です。 今日会社でAndroidを持っている人にインストールし …

FreeなWindows向けDAWを使って作った音楽をwavからoggにしてAndroidアプリで鳴らしてみた。

お疲れ様です。高橋です。 先日POSTした「DAWを使って、ゲームの裏側で鳴らす …

アプリDL状況と言い訳システムの効果について

お疲れ様です。高橋です。 リリースしたアプリのDL状況 3/20(Fri)時点で …

街頭インタビュー 背景人物切り替え機能の実装

お疲れ様です。高橋です。 本日は、背景人物を切り替える機能を実装しました。とりあ …

遅刻の言い訳アプリをリリースしてみた。

お疲れ様です。高橋です。 2/20あたりから、「合理的な遅刻の言い訳生成アプリ。 …

街頭インタビュー 実装 #2

お疲れ様です。高橋です。 本日の実装状況 街頭インタビューを構成する要素を、徹底 …

「遅刻の言い訳」実機デバッグ結果

お疲れ様です。高橋です。 本日、Androidを持っている同僚にお願いして、実機 …