使用LibGDX将游戏加载到Android上会抛出NoClassDefFoundError:menu.StateManager

时间:2014-01-03 08:13:31

标签: java android eclipse exception libgdx

我在Eclipse上使用LibGDX构建游戏,但是当我尝试在我的Android设备上运行它时,它会因以下错误而失败。

01-02 23:56:16.649: E/AndroidRuntime(26921): FATAL EXCEPTION: main
01-02 23:56:16.649: E/AndroidRuntime(26921): java.lang.NoClassDefFoundError: menu.StateManager
01-02 23:56:16.649: E/AndroidRuntime(26921):    at com.androiddevice.Device.onCreate(Device.java:11)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at android.app.Activity.performCreate(Activity.java:5244)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2034)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2095)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at android.app.ActivityThread.access$600(ActivityThread.java:135)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at android.os.Looper.loop(Looper.java:137)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at android.app.ActivityThread.main(ActivityThread.java:4849)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at java.lang.reflect.Method.invokeNative(Native Method)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at java.lang.reflect.Method.invoke(Method.java:511)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
01-02 23:56:16.649: E/AndroidRuntime(26921):    at dalvik.system.NativeStart.main(Native Method)

Main项目成功构建为独立程序,只有这个Android扩展程序没有。

所以我知道NoClassDefFoundError可能意味着我没有包含在项目中的正确.class文件,但我在这里究竟是怎么做到的?我在设置中的某个地方错过了一个库或引用吗?

我的项目如何设置: 资源: Source http://i278.photobucket.com/albums/kk88/putty174/Source.png

项目: Projects http://i278.photobucket.com/albums/kk88/putty174/Projects.png

库: Libraries http://i278.photobucket.com/albums/kk88/putty174/Libraries.png

订单和出口: Order http://i278.photobucket.com/albums/kk88/putty174/Order.png

Android文件: https://github.com/EyeWumbo/libgdx_device_v1.1/tree/master/Android

主要项目档案: https://github.com/EyeWumbo/libgdx_device_v1.1/tree/master/Device

2 个答案:

答案 0 :(得分:0)

Android(在kitkat之前)需要java 6或更低版本 确保您的主项目符合java 6的代码,而不是java 7 如果您使用setup-ui,这应该不是问题。 (但还是要检查一下)。

希望这有帮助。

答案 1 :(得分:0)

我遇到过类似的问题,我的修复方法是将我的主项目java编译器更改为1.6。只需去主要项目的属性---> Java编译器--->选中“启用项目特定设置”并将“编译器合规性级别”更改为1.6。

以下是我从中得到的一些链接: libgdx: android application cannot find the main game class http://www.badlogicgames.com/forum/viewtopic.php?f=11&t=2314

希望这有帮助!