Cocos2D示例中的NoClassDefFoundError

时间:2012-07-07 22:43:33

标签: android noclassdeffounderror cocos2d-android

我遇到同样的问题this question,但解决方案对我不起作用。我在构建路径中包含了我的JAR。我做错了什么?
我使用的是same example

这是崩溃日志:

07-08 04:04:33.440: E/AndroidRuntime(751): FATAL EXCEPTION: main
07-08 04:04:33.440: E/AndroidRuntime(751): java.lang.NoClassDefFoundError: org.cocos2d.opengl.CCGLSurfaceView
07-08 04:04:33.440: E/AndroidRuntime(751):  at a.b.Cocos2DGameActivity.onCreate(Cocos2DGameActivity.java:22)
07-08 04:04:33.440: E/AndroidRuntime(751):  at android.app.Activity.performCreate(Activity.java:4465)
07-08 04:04:33.440: E/AndroidRuntime(751):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
07-08 04:04:33.440: E/AndroidRuntime(751):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
07-08 04:04:33.440: E/AndroidRuntime(751):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
07-08 04:04:33.440: E/AndroidRuntime(751):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
07-08 04:04:33.440: E/AndroidRuntime(751):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
07-08 04:04:33.440: E/AndroidRuntime(751):  at android.os.Handler.dispatchMessage(Handler.java:99)
07-08 04:04:33.440: E/AndroidRuntime(751):  at android.os.Looper.loop(Looper.java:137)
07-08 04:04:33.440: E/AndroidRuntime(751):  at android.app.ActivityThread.main(ActivityThread.java:4424)
07-08 04:04:33.440: E/AndroidRuntime(751):  at java.lang.reflect.Method.invokeNative(Native Method)
07-08 04:04:33.440: E/AndroidRuntime(751):  at java.lang.reflect.Method.invoke(Method.java:511)
07-08 04:04:33.440: E/AndroidRuntime(751):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-08 04:04:33.440: E/AndroidRuntime(751):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-08 04:04:33.440: E/AndroidRuntime(751):  at dalvik.system.NativeStart.main(Native Method)

3 个答案:

答案 0 :(得分:4)

我建议你将库更改为cocos2d-x,因为android的cocos2d将不再更新。

Cocos2d-x在C ++中工作,并使用JNI(Java本机接口)工作。以下是开始使用它所需的所有信息。

答案 1 :(得分:1)

我猜问题出现在JAR文件中。幸运的是,该项目是开源的,所以我添加了源文件,它停止给我错误。该教程中有一个源代码,它也使用源文件,而不是JAR。

答案 2 :(得分:1)

我遇到了同样的问题。我将源代码复制到src而不是包含jar。 并且您必须将项目的jre版本更改为1.6