libgdx在模拟器中运行时在helloworld应用程序上抛出exception

我已经按照http://www.youtube.com/watch?v=vLx_72qxK_0&feature=player_embedded上的教程进行了操作,并使用libgdx库创建了一个简单的应用程序,该应用程序具有红色背景。

当我作为一个独立的桌面应用程序运行它时,这工作正常,但是当我运行-android版本时,抛出下面的exception并且应用程序无法启动。

02-04 18:25:27.536: W/dalvikvm(456): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/badlogic/gdx/backends/android/AndroidApplication; 02-04 18:25:27.536: W/dalvikvm(456): Class init failed in newInstance call (Lorg/gravity/main/GameAndroidActivity;) 02-04 18:25:27.567: D/AndroidRuntime(456): Shutting down VM 02-04 18:25:27.567: W/dalvikvm(456): threadid=1: thread exiting with uncaught exception (group=0x40015560) 02-04 18:25:27.676: E/AndroidRuntime(456): FATAL EXCEPTION: main 02-04 18:25:27.676: E/AndroidRuntime(456): java.lang.ExceptionInInitializerError 02-04 18:25:27.676: E/AndroidRuntime(456): at java.lang.Class.newInstanceImpl(Native Method) 02-04 18:25:27.676: E/AndroidRuntime(456): at java.lang.Class.newInstance(Class.java:1409) 02-04 18:25:27.676: E/AndroidRuntime(456): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 02-04 18:25:27.676: E/AndroidRuntime(456): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561) 02-04 18:25:27.676: E/AndroidRuntime(456): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 02-04 18:25:27.676: E/AndroidRuntime(456): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 02-04 18:25:27.676: E/AndroidRuntime(456): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 02-04 18:25:27.676: E/AndroidRuntime(456): at android.os.Handler.dispatchMessage(Handler.java:99) 02-04 18:25:27.676: E/AndroidRuntime(456): at android.os.Looper.loop(Looper.java:123) 02-04 18:25:27.676: E/AndroidRuntime(456): at android.app.ActivityThread.main(ActivityThread.java:3683) 02-04 18:25:27.676: E/AndroidRuntime(456): at java.lang.reflect.Method.invokeNative(Native Method) 02-04 18:25:27.676: E/AndroidRuntime(456): at java.lang.reflect.Method.invoke(Method.java:507) 02-04 18:25:27.676: E/AndroidRuntime(456): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 02-04 18:25:27.676: E/AndroidRuntime(456): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 02-04 18:25:27.676: E/AndroidRuntime(456): at dalvik.system.NativeStart.main(Native Method) 02-04 18:25:27.676: E/AndroidRuntime(456): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load gdx: findLibrary returned null 02-04 18:25:27.676: E/AndroidRuntime(456): at java.lang.Runtime.loadLibrary(Runtime.java:429) 02-04 18:25:27.676: E/AndroidRuntime(456): at java.lang.System.loadLibrary(System.java:554) 02-04 18:25:27.676: E/AndroidRuntime(456): at com.badlogic.gdx.utils.GdxNativesLoader.load(GdxNativesLoader.java:111) 02-04 18:25:27.676: E/AndroidRuntime(456): at com.badlogic.gdx.backends.android.AndroidApplication.(AndroidApplication.java:58) 02-04 18:25:27.676: E/AndroidRuntime(456): ... 15 more 

有没有人对这个图书馆有任何经验?

通过确保armeabi和armeabi-v7a文件夹位于android项目的/ libs中来修复此问题。

我发现问题是由于尝试使用intel atom x86图像在Android AVD上运行引起的。 我相信你必须使用ARM镜像。

来源: 如何导入Android的x86文件夹 (2013年7月)

开发人员告诉我们,他们会在最新的夜间提供丢失的x86文件夹,这样您就不会被迫使用ARM模拟器。

因此,请在下面下载最新的每晚,并将x86文件夹复制到项目/库项目的libs/文件夹中(您还可以在其中找到armeabiarmeabi-v7a文件夹)

libgdx的最新每晚包含放入libs /的x86文件夹

这解决了我的问题。