「魔法少女戦記外伝」DL委託販売中!!

DMM 同人様 Melonbooks DL様 DLsite.com 様
DMM 同人様 Melonbooks DL 様 DLsite.com 様



最新記事ほか

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【cocos2d-x】Windowsでcocos2d-x+Android環境を構築した際に出た不具合とその対策

ここ数年のお話ですが、家庭用ゲーム専用機以外にもスマートフォンなどでのゲーム開発が過熱化しているためか、マルチプラットフォームでの動作を前提とした開発環境が色々と注目されています。

有名どころでは「Unity」がありますが、ひねくれものの私が手を付けたのは「cocos2d-x」ですw
実際はひねくれものなんて理由ではなくて、以下のようなことが決め手となりましたw

・処理が非常に早い
・取り扱う言語にC++がある

さてそんな cocos2d-x ですが、私が Windows で環境構築を行ったときに起きた問題や不具合を備忘録として記録すると共に、今後同様の問題に遭遇する可能性がある方とも情報を共有できるように記載したいと思います。





環境構築を行った私の環境は以下のようなものです。

・Windows7 HomePremium SP1 64bit
・Eclipse Java EE IDE for Web Developers.
 Version: Juno Service Release 2
 Build id: 20130225-0426
・Android NDK(Revision 9)
・cocos2d-x-2.2.3
・Python Ver.2.7

本当は cocos2d-x Ver.3.0 を早々に手を付けようかと考えていたのですが、まだまだベータ版であることや環境構築に問題が多そうなので情報量の多い Ver.2.x 系に逃げましたw
環境構築の手順については色んなサイト、ブログで取り扱っていらっしゃいますので、手順についてはそちらをご参照ください。

さて、ここからエラーと対策を記載したいと思います。


1.Unable to add 'C:\cocos2d-x-2.1.4\projects\MyProject\proj.android\assets\fonts\Marker Felt.ttf': Zip add failed


各種ソフトのインストールや環境変数の設定などを終えて、Eclipse にプロジェクトをインポートした後に出くわしたのが上記のエラーです。
文章から読み取る限りでは「Marker Felt.ttf」というフォントファイルをパッケージに含められないというエラーかと思われるのですが、色々と調べて見た結果、以下のサイト様の記事を参考にさせていただきました。

cocos2dxのエラー対策(android開発入門様)

build_native.shの以下にchmodを追記します。

========================================
if [ -f "$file" ]; then
cp "$file" "$APP_ANDROID_ROOT"/assets
fi
chmod 777 -R "$APP_ANDROID_ROOT"/assets
done
========================================


プロジェクト作成時に「cocos2d-x\「プロジェクト名」\Chu2NameMaker\proj.android」以下に生成される「build_native.sh」というスクリプトファイルを書き換える手法です。
ビルド時に呼び出されるスクリプトなのですが、その際にコピーされるファイルのパーミション(利用権限)が参照できない設定に変更されるため、権限を誰からでも利用できるように書き換えようという方法です。
理想としてはプロジェクトを生成するときに使用する「create_project.py」を書き換えるべきだとは思うのですが、経験がない Python で記載がされているため「build_native.sh」が生成される箇所を特定できず断念しましたorz

他にも以下のような方法が見受けられましたが、これらの方法だとフォントファイルの使用に制限が出そうなので、私は利用しませんでした。
・fonts フォルダを削除
・fonts フォルダをリネーム(_fontsなど)


・実機での実行時に発生した強制終了とその対策


生成されたプロジェクトに上記の対策以外に手を加えず実機での動作確認を行ったのですが、画面表示を行う前に強制終了が発生しました。
明らかに生成されたコードに原因がありそうなので色々調べて見たところ、以下のサイト様の記事に気になる情報がありました。

Windows環境のeclipseにcocos2d-xを導入してみた。(たそがれブランチ様)

でもまだcocos2d-xではAndroidNDKr9だと問題がおきちゃうみたいなので、以下の方法でRevision 8eをダウンロードした

1.上記のAndroidNDKのページへ行く
2.Downloadsからお好みのを選択
3.右クリックしてURLを取り出す
4.そのurlの「ndk-r9」の部分を「ndk-r8e」に変更して、ブラウザにドーンする

これで無事ダウンロードできました。。


どうやら Android NDK のバージョンに問題があったらしく、Revision 8 の最終版である「r8e」を導入することにより解決しました。

引用記事にも記載がありましたが、Android NDK のサイトに飛んでも旧バージョンのリンクはありませんので、現行バージョンのリンクを書き換えて入手する必要があります。
下記にバージョンを書き換えたリンクを記載しますが、データの消失などがありましても責任は負いかねますのでご了承ください。

・Windows 32bit
http://dl.google.com/android/ndk/android-ndk-r8e-windows-x86.zip
・Windows 64bit
http://dl.google.com/android/ndk/android-ndk-r8e-windows-x86_64.zip


これらの回避策を施してようやく実機でサンプルコードを実行するに至ったのですが、この記事の1週間後くらいに「cocos2d-x Ver.3.0 正式リリースしました!」なんて言われたら泣きたくなりますねw
だからといって、いつまでも正式リリースを待つわけにもいかず・・・ということで Ver2.x 系でしばらく頑張ってみようと思います。

ではでは今回はこの辺で~ノシ
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

Empress

Author:Empress
同人サークル「Atelier Empress」を立ち上げてしまった愚か者です。少しずつでも作品を公開していければと思う次第でございます。

検索フォーム
リンク
カテゴリ
タグ一覧

同人 Unity 進捗 雑記 コミケ C89 小ネタ プログラミング Unity小ネタ 年末 新年 Android 

委託販売
スポンサード リンク
FLOWER KNIGHT GIRL オンラインゲーム 千年戦争アイギス オンラインゲーム
Twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。