*

Macでcocos2dxをiOSとAndroid向けにビルド

公開日: : Android, cocos2d-x, iOS, 開発環境

Cocos2dx portrait

前回Androidの開発環境をセットアップでAndroidの開発環境が準備をしました。

今回ははcocos2dxのサンプルをiOSとAndroidそれぞれでビルドしました。

Android NDKをダウンロード

Androidでcocos2dxを使うには、Android SDKとAndroid NDKが必要になります。

Android-SDKについては、すでにインストールが終わっているので、Android NDKを追加します。

  • http://developer.android.com/tools/sdk/ndk/index.html
  • 開発機のMacが64bitで、targetアプリは32bitにしたいので、Platform(32-bit target)のMac OS X 64-bit android-ndk32-r10-darwin-x86_64.tar.bz2をダウンロードしました。

    iPhoneはiPhone5sで採用されたA7チップから64bit化され、Androidも年内に64bit版が出る見込みのようです。

  • http://gigazine.net/news/20140425-64bit-android-come-late2014/
  • 今回使用するcocos2dxのバージョンが2.2.2と少し古いですが、こちらも64bit対応はしていないようです。

  • http://kyokomi.hatenablog.com/entry/2014/03/12/144131

    cocos2d-xでサンプルプロジェクト作成

    以下のコマンドでサンプルを作成しました。

    python create_project.py -project test -package com.sola_air.game.sample -language cpp

    xCode(iOS)でコンパイルエラーになる

    proj.iosにあるsample.xcodeprojを開いてコンパイルすると、
    arm云々というarchitecture関連のエラーが出た(よくでるやつ)ので、プロジェクトの設定で[Build Settings]-[Architectures]を修正します。

  • [Build Active Architecture Only]をYesに設定する
  • [Valid Architectures]を”armv6 armv7 armv7s”に設定する

    注意点は、プロジェクトはsampleとcocos2dxの2つがあり、それぞれでPROJECTとTARGETSの設定があるので4箇所確認することです。

    再度、ビルドすると今度はstd系のエラーが表示されるました。

    こちらはプロジェクトの[Build Settings]-[C++ Standard Library]を修正しました。

  • “libc++(LLVM C++ standard library with C++11 support)に設定

    またiOS5.x以上が必要というメッセージがでたので、あわせてプロジェクトの設定で[General]-[iOS Deployment Target]を6.0にしました。

    Android向けビルド

    cocos2dxではC++11で拡張された機能をいくつかつかっているので、コンパイラにC++11を指定します。
    proj.android/jni/Applicatin.mkの最後に以下の行を追加します。

    APP_CPPFLAGS += -std=c++11
    NDK_TOOLCHAIN_VERSION := 4.8
    

    proj.androidに移動して以下のコマンドでビルドします。

    ./build_native.sh
    

    ここでsdk.dir missing errorが発生しました。

    sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var
    

    README.mdの最後に対処方法が書いてあったので、これを実行して解決(実行する端末を接続してから行う必要がある)

    If the last command results in sdk.dir missing error then do: 
    
        $ android list target
        $ android update project -p . -t (id from step 6)
        $ android update project -p cocos2d-x/cocos2dx/platform/android/java/ -t (id from step 6)
    
    

    XPERIA(SO-03F)で動作確認

    まずXPERIAを開発モードにして、USBデバッグを有効にしておきます。

  • [設定]-[端末情報]-[ビルド番号]を数回タップする
    つぎにUSBデバッグを有効にします。

  • [設定]-[開発者向けオプション]-[USBデバッグ]をチェックする

    接続しなおして、コンソールから以下のコマンドで接続している端末を確認

    #adb devices

    サンプルアプリをインストールします

    adb debug install

    Cap

    参考

  • http://qiita.com/CsStay47/items/72c60f7435ccda4d55e9
  • http://crimsonwoods.hatenablog.com/entry/2012/12/31/024649
  • Sponsored Link

    関連記事

    teach_s.png

    [eMon] English Monstersレビュー申請中

    先日、新しいiOSアプリを審査に出しました。 English Monsters(略してeM

    記事を読む

    checkbox.png

    確認ダイアログ付きチェックボックス(Checkbox)

    図のようなチェックボックスとアラートの組合せを実装しようとした際にiOSには外観などを簡単にカスタ

    記事を読む

    iOS7向けアプリアイコンを一括変換

    iOSがiOS7にバージョンアップされ、アプリに必要なアイコン画像のサイズがさらに増えました(

    記事を読む

    sola.png

    アプリからFormDataを送信する

    HTMLのformタグを使うとHTTPリクエストにkey=valueの形式で任意のデータを付加して送

    記事を読む

    kii1.png

    KiiCloudでファイルアップロード

    KiiCloudではサーバーと通信が必要な処理は、同期タイプ(Synchronous)と非同タイプ(

    記事を読む

    ace.png

    イーモン v2.2審査

    v2.2を審査に出しました! イーモンxエースクラウンの特別クエストが追加されます!

    記事を読む

    kii1.png

    Kii Cloudオブジェクトエディタ

    現在作成しているゲームで使うMBaasとしてKii Cloudを検討しています。 和製のMBa

    記事を読む

    Screenshot-2013.11.14-03.18.26.png

    Cocos2d-xでGaussianBlur(ぼかしフィルター)

    cocos2d-xにGaussianBlurが見つけられず、ググっていたらサンプルをみつけまし

    記事を読む

    clipping.png

    GL_SCISSOR_TESTを使ったクリッピング

    cocos2dでNodeの描画をクリッピングするにはCCClippingNodeやCGCon

    記事を読む

    2015_ec1.png

    イーモン プレビュー動画

    動画2作目、お正月っぽく

    記事を読む

    Sponsored Link

    Message

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    Sponsored Link

    • 発音辞書イーモン
    • English Monsters
    • sLog(時間管理アプリ)
    • 生粋のC++プログラマーです。 最近は、Objective-Cやxcode、cocos2d-xなどを学びながらiPhoneアプリを開発しています。

    Google+ Google
    PAGE TOP ↑