java.lang.NoClassDefFoundError:org.lwjgl.opengl.Display
Exception thrown in Thread[GLThread 3501,5,main]
java.lang.NoClassDefFoundError:org.lwjgl.opengl.Display
at
mygame.JmeControlsDemoScreenController.fillResolutionDropDown(JmeControlsDemoScreenController.java:248)
at
mygame.JmeControlsDemoScreenController.bind(JmeControlsDemoScreenController.java:114)
at de.lessvoid.nifty.screen.Screen.startScreen(Screen.java:210)
at de.lessvoid.nifty.Nifty.gotoScreenInternal(Nifty.java:678)
at de.lessvoid.nifty.Nifty.access$400(Nifty.java:77)
at de.lessvoid.nifty.Nifty$1.perform(Nifty.java:635)
at
de.lessvoid.nifty.elements.EndOfFrameElementsAction.perform(EndOfFrameElementsAction.java:22)
at
de.lessvoid.nifty.Nifty.executeEndOfFrameElementsActions(Nifty.java:439)
at
de.lessvoid.nifty.Nifty.handleDynamicsElements(Nifty.java:358)
at de.lessvoid.nifty.Nifty.update(Nifty.java:293)
at
com.jme3.niftygui.inputSystemJme.endInput(InputSystemJme.java:113)
at
com.jme3.input.InputManageer.processQueue(InputManager.java:819)
at
com.jme3.input.InputManager.update(InputManager.java:883)
at com.jme3.app.Application.update(Application.java:604)
at
com.jme3.app.Simple.Applicaiton.update(SimpleApplication.java:231)
at
com.jme3.app.AndroidHarness.update(AndroidHarness.java:46)
at
com.jme3.system.android.OGLESContext.onDrawFrame(OGLESContext.java:349)
at
android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1523)
at
android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
The demo was working successfully on my pc(with windows 64bit, HD graphics 4000, 8GB Ram) but things got messed up when i tried it on android.
Well, it seems like one of your game classes is directly accessing a class that doesn’t exist on Android. (lwjgl does not exist in android builds of JME)
I can’t see anywhere that the class is even using those… so I don’t know. The pasted class doesn’t even have those imports… and I guess isn’t even the one showing up in the stack trace.
This is the code where the issue is:
mygame.JmeControlsDemoScreenController.fillResolutionDropDown
…which I guess you will have to modify to work with android because if it’s really the code calling LWJGL directlythen it’s only setup to work on desktop. (Probably unnecessarily based on the method name.)