IllegalArgumentException: Unable to find native library: cocos2dcpp

HI,

my first post :slight_smile:

  1. Path Variable COCOS2DX:
    * Eclipse->Preferences->General->Workspace->Linked Resources
    I have set to /home/q/Downloads/cocos2d-x-3.0rc0

  2. C/C++ Environment Variable NDK_ROOT:
    I have set to /home/q/Downloads/android-ndk-r9b

  3. Environment Variables:
    PATH="/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/q/Downloads/android-sdk-linux/tools:/home/q/Downloads/android-sdk-linux/platform-tools"
    JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51
    COCOS2DX_ROOT=/home/q/Downloads/cocos2d-x-3.0rc0
    NDK_ROOT=/home/q/Downloads/android-ndk-r9b
    ANDROID_HOME=/home/q/Downloads/android-sdk-linux
    ANDROID_SDK_ROOT=/home/q/Downloads/android-sdk-linux
    SDK_ROOT=/home/q/Downloads/android-sdk-linux

  4. Import libcocos2dx library project:
    form
    /home/q/Downloads/cocos2d-x-3.0rc0/cocos/2d/platform/android/java/

5.Import template
/home/q/Downloads/cocos2d-x-3.0rc0/templates/cpp-template-default/proj.android/

6.Try to start HelloCpp template => not working see log

7.because inside the HelloCpp template Project the Classes folder and the cocos2dx folder
cannot be resolved(the folder structure has changed since the alpha version)
Classes:
Location:COCOS2DX/projects/HelloCpp/Classes
Resolved location:/home/q/Downloads/cocos2d-x-3.0rc0/projects/HelloCpp/Classes - (does not exist)
cocos2dx:
Location:COCOS2DX/cocos2dx
Resolved location:/home/q/Downloads/cocos2d-x-3.0rc0/cocos2dx - (does not exist)

8.So In the HelloCpp template project I changed the locations the Classes folder and the cocos2dx folder
Classes:
Location:COCOS2DX/templates/cpp-template-default/Classes
Resolved location:/home/q/Downloads/cocos2d-x-3.0rc0/templates/cpp-template-default/Classes
cocos2dx:
Location:COCOS2DX/cocos
Resolved location:/home/q/Downloads/cocos2d-x-3.0rc0/cocos

9. No change. Still getting the same error. See log

Cocos version 2 and version 3 alpha have worked for me.
But version 3 beta and RC don’t.
I need you help.

HERE IS THE LOG:

03-20 11:59:41.853: I/Process(32554): Sending signal. PID: 32554 SIG: 9
03-20 11:59:52.963: D/AndroidRuntime(418): Shutting down VM
03-20 11:59:52.963: W/dalvikvm(418): threadid=1: thread exiting with uncaught exception (group=0x41f932a0)
03-20 11:59:52.968: E/AndroidRuntime(418): FATAL EXCEPTION: main
03-20 11:59:52.968: E/AndroidRuntime(418): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.cocos2dx.hellocpp/org.cocos2dx.cpp.Cocos2dxActivity}: java.lang.IllegalArgumentException: Unable to find native library: cocos2dcpp
03-20 11:59:52.968: E/AndroidRuntime(418): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
03-20 11:59:52.968: E/AndroidRuntime(418): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
03-20 11:59:52.968: E/AndroidRuntime(418): at android.app.ActivityThread.access$700(ActivityThread.java:140)
03-20 11:59:52.968: E/AndroidRuntime(418): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
03-20 11:59:52.968: E/AndroidRuntime(418): at android.os.Handler.dispatchMessage(Handler.java:99)
03-20 11:59:52.968: E/AndroidRuntime(418): at android.os.Looper.loop(Looper.java:137)
03-20 11:59:52.968: E/AndroidRuntime(418): at android.app.ActivityThread.main(ActivityThread.java:4921)
03-20 11:59:52.968: E/AndroidRuntime(418): at java.lang.reflect.Method.invokeNative(Native Method)
03-20 11:59:52.968: E/AndroidRuntime(418): at java.lang.reflect.Method.invoke(Method.java:511)
03-20 11:59:52.968: E/AndroidRuntime(418): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
03-20 11:59:52.968: E/AndroidRuntime(418): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
03-20 11:59:52.968: E/AndroidRuntime(418): at dalvik.system.NativeStart.main(Native Method)
03-20 11:59:52.968: E/AndroidRuntime(418): Caused by: java.lang.IllegalArgumentException: Unable to find native library: cocos2dcpp
03-20 11:59:52.968: E/AndroidRuntime(418): at android.app.NativeActivity.onCreate(NativeActivity.java:187)
03-20 11:59:52.968: E/AndroidRuntime(418): at org.cocos2dx.cpp.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:14)
03-20 11:59:52.968: E/AndroidRuntime(418): at android.app.Activity.performCreate(Activity.java:5206)
03-20 11:59:52.968: E/AndroidRuntime(418): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
03-20 11:59:52.968: E/AndroidRuntime(418): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
03-20 11:59:52.968: E/AndroidRuntime(418): … 11 more
03-20 12:00:06.978: I/Process(418): Sending signal. PID: 418 SIG: 9

did you compile source code by build_native.py?

:slight_smile: I forget to do it. But it’s missing some stuff:
Log:

The Selected NDK toolchain version was 4.8 !
Can’t know cpuinfo, use default 1 cpu
Android NDK: WARNING: Ignoring unknown import directory: /home/q/Downloads/cocos2d-x-3.0rc0/templates/cpp-template-default/proj.android/…/cocos2d
Android NDK: WARNING: Ignoring unknown import directory: /home/q/Downloads/cocos2d-x-3.0rc0/templates/cpp-template-default/proj.android/…/cocos2d/external
Android NDK: WARNING: Ignoring unknown import directory: /home/q/Downloads/cocos2d-x-3.0rc0/templates/cpp-template-default/proj.android/…/cocos2d/cocos
Android NDK: jni/Android.mk: Cannot find module with tag ‘2d’ in import path
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?
Android NDK: The following directories were searched:
Android NDK:
make: Entering directory /home/q/Downloads/cocos2d-x-3.0rc0/templates/cpp-template-default/proj.android' jni/Android.mk:22: *** Android NDK: Aborting. . Stop. make: Leaving directory/home/q/Downloads/cocos2d-x-3.0rc0/templates/cpp-template-default/proj.android’
Traceback (most recent call last):
File “./build_native.py”, line 166, in
build(opts.ndk_build_param,opts.android_platform,opts.build_mode)
File “./build_native.py”, line 153, in build
do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,android_platform,build_mode)
File “./build_native.py”, line 89, in do_build
raise Exception(“Build dynamic library for project [ " + app_android_root + " ] fails!”)
Exception: Build dynamic library for project [ /home/q/Downloads/cocos2d-x-3.0rc0/templates/cpp-template-default/proj.android ] fails!

Is my NDK_MODULE_PATH correct ??
NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos/2d/platform/android:${COCOS2DX_ROOT}/cocos/2d

I tried

NDK_MODULE_PATH=${COCOS2DX_ROOT}

but build_native.py still not working.

I changed the line 135 (inside build_native.py)
FROM: cocos_root = os.path.join(current_dir, “…/cocos2d”)
TO: cocos_root = os.path.join("", “/home/q/Downloads/cocos2d-x-3.0rc0”)

now it build’s(the .so) correct.

But i can’t start it on phone (galaxy s2). Get the ERROR

03-21 10:42:02.756: A/libc(18864): Fatal signal 11 (SIGSEGV) at 0x00000005 (code=1), thread 18889 (cos2dx.hellocpp)

On Windows 8, Visual Studio 2013, it runs perfect

just opened cocos2d-x-3.0rc0\build\cocos2d-win32.vc2012.sln

but i need to run it on a andriod phone(eclipse,ubuntu13.10)