libgdx android failed on launch

主宰稳场 提交于 2019-12-29 08:57:47

问题


This is my first time using libgdx and I would like to try the default application provided after the setup gdx-setup-ui. It runs fine when I hit the run button on eclipse as it has shown

[2014-05-01 21:40:14 - my-gdx-game-android] Uploading my-gdx-game-android.apk onto device 'emulator-5554'
[2014-05-01 21:40:15 - my-gdx-game-android] Installing my-gdx-game-android.apk...
[2014-05-01 21:40:16 - my-gdx-game-android] Success!
[2014-05-01 21:40:16 - my-gdx-game-android] Starting activity com.me.mygdxgame.MainActivity on device emulator-5554
[2014-05-01 21:40:16 - my-gdx-game-android] ActivityManager: WARNING: linker: libdvm.so has text relocations. This is wasting memory and is a security risk. Please fix.
[2014-05-01 21:40:16 - my-gdx-game-android] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.me.mygdxgame/.MainActivity }

but on the emulator it said unfortunately, my LibGDX Game has stopped.

These are shown in the logCat:

05-01 17:02:04.936: D/dalvikvm(2034): Trying to load lib /data/app-lib/com.me.mygdxgame-1/libgdx.so 0xb103cb78
05-01 17:02:04.936: D/dalvikvm(2034): Added shared lib /data/app-lib/com.me.mygdxgame-1/libgdx.so 0xb103cb78
05-01 17:02:04.936: D/dalvikvm(2034): No JNI_OnLoad found in /data/app-lib/com.me.mygdxgame-1/libgdx.so 0xb103cb78, skipping init
05-01 17:02:04.936: D/AndroidRuntime(2034): Shutting down VM
05-01 17:02:04.936: W/dalvikvm(2034): threadid=1: thread exiting with uncaught exception (group=0xb0d34b20)
05-01 17:02:04.996: E/AndroidRuntime(2034): FATAL EXCEPTION: main
05-01 17:02:04.996: E/AndroidRuntime(2034): Process: com.me.mygdxgame, PID: 2034
05-01 17:02:04.996: E/AndroidRuntime(2034): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.me.mygdxgame/com.me.mygdxgame.MainActivity}: com.badlogic.gdx.utils.GdxRuntimeException: Libgdx requires OpenGL ES 2.0
05-01 17:02:04.996: E/AndroidRuntime(2034):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at android.os.Handler.dispatchMessage(Handler.java:102)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at android.os.Looper.loop(Looper.java:136)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at android.app.ActivityThread.main(ActivityThread.java:5017)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at java.lang.reflect.Method.invokeNative(Native Method)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at java.lang.reflect.Method.invoke(Method.java:515)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at dalvik.system.NativeStart.main(Native Method)
05-01 17:02:04.996: E/AndroidRuntime(2034): Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Libgdx requires OpenGL ES 2.0
05-01 17:02:04.996: E/AndroidRuntime(2034):     at com.badlogic.gdx.backends.android.AndroidGraphics.createGLSurfaceView(AndroidGraphics.java:121)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at com.badlogic.gdx.backends.android.AndroidGraphics.<init>(AndroidGraphics.java:101)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at com.badlogic.gdx.backends.android.AndroidGraphics.<init>(AndroidGraphics.java:94)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at com.badlogic.gdx.backends.android.AndroidApplication.init(AndroidApplication.java:130)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at com.badlogic.gdx.backends.android.AndroidApplication.initialize(AndroidApplication.java:96)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at com.me.mygdxgame.MainActivity.onCreate(MainActivity.java:15)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at android.app.Activity.performCreate(Activity.java:5231)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
05-01 17:02:04.996: E/AndroidRuntime(2034):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
05-01 17:02:04.996: E/AndroidRuntime(2034):     ... 11 more

Also, I have deleted the line cfg.useGL20 = true; in the MainActivity.java as it keeps giving me error and I tried to quick fix it, it does not work. I really need it to be used in an emulator as I does not own at android device.


回答1:


I was able to make this work on a Macbook Air by:

  1. open the Android Virtual Device Manager (e.g. in Eclipse this is under the Window menu)
  2. click Edit for the device you want to work with
  3. in the resulting dialog check the box "Use Host GPU" as shown

Save and try again.

I'm guessing this depends on your computer's graphics card support OpenGL2.0, but I also suspect that this is pretty common nowadays.



来源:https://stackoverflow.com/questions/23416848/libgdx-android-failed-on-launch

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!