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が出てから再チャレンジしてみます。

 

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

 - アプリ開発

  関連記事

androidアプリの作り方

お疲れ様です。高橋です。 androidアプリの作り方は、ググったところ大体下記 …

遅刻の言い訳提案システム 稼働三日目 ~大失敗~

お疲れ様です。高橋です。 三日目を迎えた遅刻の言い訳提案システムですが、重大なバ …

リリースした事をスッカリ忘れていた2つのアプリの今について。

お疲れ様です。高橋です。 最近すっかりArduinoにハマってしまって、Andr …

「カナかな?」を実機デバッグし、ログ送出機能を追加してリリースしてみた。

お疲れ様です。高橋です。 デバッグしてみた 先日リリースした、西野カナ風の歌詞を …

SurfaceViewを使って絵を書き動かすサンプルをコピペして動かしてみた

お疲れ様です。高橋です。 本日はcocos2d-xの3.3rc0を導入しようと試 …

TwitterアナリティクスからCSVがダウンロード出来ない

お疲れ様です。高橋です。 TwitterアナリティクスのCSV 遅刻の言い訳提案 …

Androidアプリ上でLINEみたいな吹き出しでTextを囲んで表示してみた。

お疲れ様です。高橋です。 AndroidでLINEみたいにテキストの周りを吹き出 …

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

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

西野カナ風な歌詞自動生成「カナかな?」をリリースしてみた。

お疲れ様です。高橋です。 昨日はずっと助詞に関する実装をしていたのですが、どうし …

上司離着席状態検知アプリ

お疲れ様です。高橋です。 上司離着席状態検知システムですが、 必要性を記載 回路 …