*

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

    関連記事

    products-ico5.png

    cocos2d-x v2.2からv3.3への移行

    最近、イーモンの更新でiTunesにバイナリをアップロードしたら、 2015年2月から64

    記事を読む

    internet_share.png

    インターネット共有のステータスバーを表示させない

    私の作っているアプリではcocos2d-xでCCEAGLViewを表示させるUIViewCo

    記事を読む

    IMG_2206.JPG

    【イーモン】プロモーションムービー

    デザフェスで使ったプロモーションムービーです! 当日は、AppleTVをつかってiP

    記事を読む

    blog.png

    cocos2d-x v2.2からv3.3rc0 その2

    イーモンを鋭意更新中です。 アイキャッチは魔法使いの高ランク装備グラです。 coc

    記事を読む

    test.JPG

    水槽を立ち上げ!

    職場で海水魚の飼育を始めました。 数年前、葛西臨海公園の水族館で初めて見たときに惚れてしまっ

    記事を読む

    4300d3f14f7f754c5b2cd5b720efb39f.png

    cocos2dxでマルチスレッド

    cocos2dxでマルチスレッドをいじったときのメモ あらかじめautoreleaseに

    記事を読む

    no image

    UIAlertのTextFieldでキーボードが表示されない(iOS7)

    TextField付きのUIAlertViewでたまにキーボードが表示されないことがあり、 ながら

    記事を読む

    nice_slice.png

    9スライスによる画像の拡大(9 Slice Scaling Image)

    画像を拡大する方法には、引き伸す、ピクセルを繰り返す、パターンを繰り返すなどの方法があります。 U

    記事を読む

    Screenshot-2013.11.14-03.18.26.png

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

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

    記事を読む

    ace.png

    イーモンv2.3申請

    やっとv2.2がリリースされ、本日v2.3をAppleに申請しました。 v2.3の主

    記事を読む

    Sponsored Link

    Message

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

    Sponsored Link

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

    Google+ Google
    PAGE TOP ↑