Android Studio 2.1 で Cocos2d-x 3.11 を使ってみる


ということで、こちら の続き。

cocos new して出来た proj.android-studio を、Android Studio に読み込んで、実行すれば良いのかと思ってたらそうでもなかった。

まず、仮想デバイス用のライブラリを作成するのに、cocos コマンドを使ってコンパイルする必要があるようです。

Android Studio の Terminal から

cocos compile -p android --android-studio



で、例のごとく、コンパイルエラーが出てつまずくわけです。

まず、Classes フォルダがないよ! と言われているので、Android.mk を修正。

proj.android-studio/app/jni/Android.mk

LOCAL_PATH が、proj.android-studio/app/jni になっているようなので、

$(call import-add-path,$(LOCAL_PATH)/../../cocos2d)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos/audio/include)

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes

となっていたのを

$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d)
$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/external)
$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/cocos)
$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/cocos/audio/include)

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../Classes

と修正。
※ ../を一個追加して、一応、external も追加。
※※これって、Android Studio のターミナルを使っているからかも知れない。
別途、ターミナルを起動して、ディレクトリーを移動してからコンパイルをかければ問題なかったかも。

これで、Classes フォルダを見つけてくれたようですが、まだコンパイル・エラーが残ってる。

name space がどうしたこうしたと言ってるようです。
インターネッツを検索すると、どうも NDK のバージョンに問題ある模様。

つーか、Android Studio さんが、「これ、オススメ」というので、自動でインストールしたバージョンではコンパイルできないみたい。

SDK/ndk-bundle フォルダにダウンロードされたヤツ(r12かな?)。

で、昨日、書き換えた .bash_profile を、android-ndk-r8e に書き換えて、コンパイル。
一応、コンパイルはできたものの、「ある条件ではクラッシュするかもよ?」的な警告が出たので、またまた NDK_ROOT を書き換える。

今度は r11c 。
r12 の時と同じエラー。

最終的に r10d に書き換えて、source ~/.bash_profile ツッターン!!

コンパイルしたら、エラーが取れました!

で、ADV で実行しようとしたんだけど、Android Studio さんが、「強くオススメ」してくれる x86 の ABI を指定すると、ADV は起動するのものの、「Waiting for target device to come online」から抜けてくれない。

しょうがないので、ABI を armeabi-v7a に変更して、トライ。

やっと出た出た、Cocos2d-x ロゴ。

pd-for-android のライブラリーの組み込みの確認は明日にしよう。




スポンサーサイト

コメント

非公開コメント