Unfortunately App has stopped

Hello guys, i am using cocos2d-x with eclipse. I’ve got a common problem: my hellocpp can’t last a lot. It crashes and I get the message “Unfortunately app-name has stopped” on emulator. I have read a lot of other topics but I couldn’t fix that.

The emulator is using GPU Host.

I’m using Ubuntu, and if i do “cocos run -p linux” i have the APP running perfectly. It doesn’t work at Android Platform. I’ve tried to install it in my phone, but with no success.

I have the newest version (cocos2d-x-3.0rc1).

Logcat message:

04-09 14:56:25.940: E/AndroidRuntime(1329): FATAL EXCEPTION: main
04-09 14:56:25.940: E/AndroidRuntime(1329): Process: org.cocos2dx.hellocpp, PID: 1329
04-09 14:56:25.940: E/AndroidRuntime(1329): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.cocos2dx.hellocpp/org.cocos2dx.cpp.AppActivity}: java.lang.ClassNotFoundException: Didn’t find class “org.cocos2dx.cpp.AppActivity” on path: DexPathList[[zip file “/data/app/org.cocos2dx.hellocpp-2.apk”],nativeLibraryDirectories=[/data/app-lib/org.cocos2dx.hellocpp-2, /system/lib]]
04-09 14:56:25.940: E/AndroidRuntime(1329): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
04-09 14:56:25.940: E/AndroidRuntime(1329): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
04-09 14:56:25.940: E/AndroidRuntime(1329): at android.app.ActivityThread.access$800(ActivityThread.java:135)
04-09 14:56:25.940: E/AndroidRuntime(1329): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
04-09 14:56:25.940: E/AndroidRuntime(1329): at android.os.Handler.dispatchMessage(Handler.java:102)
04-09 14:56:25.940: E/AndroidRuntime(1329): at android.os.Looper.loop(Looper.java:136)
04-09 14:56:25.940: E/AndroidRuntime(1329): at android.app.ActivityThread.main(ActivityThread.java:5017)
04-09 14:56:25.940: E/AndroidRuntime(1329): at java.lang.reflect.Method.invokeNative(Native Method)
04-09 14:56:25.940: E/AndroidRuntime(1329): at java.lang.reflect.Method.invoke(Method.java:515)
04-09 14:56:25.940: E/AndroidRuntime(1329): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-09 14:56:25.940: E/AndroidRuntime(1329): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-09 14:56:25.940: E/AndroidRuntime(1329): at dalvik.system.NativeStart.main(Native Method)
04-09 14:56:25.940: E/AndroidRuntime(1329): Caused by: java.lang.ClassNotFoundException: Didn’t find class “org.cocos2dx.cpp.AppActivity” on path: DexPathList[[zip file “/data/app/org.cocos2dx.hellocpp-2.apk”],nativeLibraryDirectories=[/data/app-lib/org.cocos2dx.hellocpp-2, /system/lib]]
04-09 14:56:25.940: E/AndroidRuntime(1329): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
04-09 14:56:25.940: E/AndroidRuntime(1329): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
04-09 14:56:25.940: E/AndroidRuntime(1329): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
04-09 14:56:25.940: E/AndroidRuntime(1329): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
04-09 14:56:25.940: E/AndroidRuntime(1329): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
04-09 14:56:25.940: E/AndroidRuntime(1329): … 11 more

The relevant information seems to be : Didn’t find class “org.cocos2dx.cpp.AppActivity”

Do you have that particular class in that particular activity ?

Did you import libcocos2dx project yet, if yes did you import libcocos2dx project from your own project folder (link: [YourProjectFolder]/cocos/2d/platform/android/java). Do not import from source cocos2dx folder.

Hope this help.

First of all, thank you for helping me.
nbthhief, i actually was importing libcocos2dx from cocos2dx folder. So I fixed it, as you said.

Fradow: i have nothing on that class, but it extends Cocos2dxActivity.

Now I get this error on logcat. Trying to solve… :slight_smile:

04-09 18:25:55.230: E/dalvikvm(2458): JNI ERROR (app bug): accessed stale local reference 0x9f200029 (index 10 in a table of size 2)
04-09 18:25:55.230: W/dalvikvm(2458): JNI WARNING: 0x9f200029 is not a valid JNI reference (CallObjectMethodV)
04-09 18:25:55.230: W/dalvikvm(2458): in Lorg/cocos2dx/lib/Cocos2dxRenderer;.nativeOnResume:()V (CallObjectMethodV)
04-09 18:25:55.230: I/dalvikvm(2458): “GLThread 163” prio=5 tid=12 RUNNABLE
04-09 18:25:55.240: I/dalvikvm(2458): | group=“main” sCount=0 dsCount=0 obj=0xb3d51c00 self=0xb888ad58
04-09 18:25:55.240: I/dalvikvm(2458): | sysTid=2472 nice=0 sched=0/0 cgrp=apps handle=-1199004240
04-09 18:25:55.260: I/dalvikvm(2458): | state=R schedstat=( 20000000 70000000 20 ) utm=1 stm=1 core=0
04-09 18:25:55.260: I/dalvikvm(2458): at org.cocos2dx.lib.Cocos2dxRenderer.nativeOnResume(Native Method)
04-09 18:25:55.260: I/dalvikvm(2458): at org.cocos2dx.lib.Cocos2dxRenderer.handleOnResume(Cocos2dxRenderer.java:149)
04-09 18:25:55.260: I/dalvikvm(2458): at org.cocos2dx.lib.Cocos2dxGLSurfaceView$3.run(Cocos2dxGLSurfaceView.java:165)
04-09 18:25:55.260: I/dalvikvm(2458): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1463)
04-09 18:25:55.260: I/dalvikvm(2458): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
04-09 18:25:55.270: E/dalvikvm(2458): VM aborting
04-09 18:25:55.270: A/libc(2458): Fatal signal 6 (SIGABRT) at 0x0000099a (code=-6), thread 2472 (Thread-163)

Hi,

just do this

JniHelper::classloader = cocos2d::JniHelper::getEnv()->NewGlobalRef(_c);

in JinHelper.cpp line 146, the bug fixed!

thanks to @mond03cn

to me works fine

Thank you everyone. I gotta errors in eclipse yet, but i can run the project on android simulator via command line.

Solved.

java.lang.ClassNotFoundException: Didn’t find class “org.cocos2dx.cpp.AppActivity”

i have this problem in cocos2d-x3.0 cn version, but i have imported libcocos2dx project from your own project folder
/Users/xx/Documents/cocos2d-x-3.0/projects/Crazy123/cocos2d/cocos/2d/platform/android/java ?