うわっ。2年も過ぎてしまった。 突然ですがcocos2d-x + android でコンパイルできるのにランタイムエラーが出る件。srand

cocos2d-x の勉強を始めた。

早速つまずいたので記録のためにメモ。


やったこと:

1.雛形作成

cocos new HelloWorld -p com.tettsuan.HelloWorld -l cpp

2.コンパイル

cocos compile -p android

3.実行

cocos run -p android


でActivityを開いた途端に落ちた・・・・。なんじゃいな。



そして、これがその時のLOGCATログ。


09-15 21:48:42.836: E/dalvikvm(17735): dlopen("/data/app-lib/com.tettsuan.HelloWorld-1/libcocos2dcpp.so") failed: Cannot load library: soinfo_relocate(linker.cpp:992): cannot locate symbol "srand" referenced by "libcocos2dcpp.so"...


なんでかな。とぐぐってみたところ。


http://stackoverflow.com/questions/25475055/android-ndk-load-library-cannot-locate-srand


ふむふむ。NDKのバージョンによるのかな。


ちなみに、NDKはr10e.


う~~ん。解決しないなぁ。


あ、環境をメモして置かなければ。


OS:Windows 8.1 64bit

JDK 1.8.0_45

Android SDK Tool 24.3.4

Android SDK Platform Tool 23.0.1

Android SDK Platform : 5.1.1(22) 


うーん。ちょっと待てよ。うちのAndroid(実機 ZTE Blade L2)は・・・・4.2.2....そのせいかな。



解決

わりと簡単に解決。

proj.android/jni/Android.mk に以下の1行を追加

 

APP_PLATFORM := android-19