【问题标题】:App crashes in emulator using libgdx and tween engine使用 libgdx 和补间引擎的模拟器中的应用程序崩溃
【发布时间】:2015-06-27 03:56:08
【问题描述】:

我目前正在做一个项目,到目前为止只完成了启动画面和主屏幕。我想看看它如何在 Android 环境中运行,所以我将它作为 Android 应用程序运行。模拟器启动得很好,但是当它加载应用程序或 "Uploading Project-android.apk to device 'emulator-5554' 正在安装 Project-android.apk...” 它提示它“不幸的是,项目已停止。这里我复制了logcat供参考。

06-26 23:33:53.190: D/dalvikvm(1808): Not late-enabling CheckJNI (already     on)
06-26 23:33:53.280: D/dalvikvm(1808): Trying to load lib /data/app-    lib/com.levellabs.project.android-2/libgdx.so 0xb1fbed48
06-26 23:33:53.280: D/dalvikvm(1808): Added shared lib /data/app-    lib/com.levellabs.project.android-2/libgdx.so 0xb1fbed48
06-26 23:33:53.280: D/dalvikvm(1808): No JNI_OnLoad found in /data/app-    lib/com.levellabs.project.android-2/libgdx.so 0xb1fbed48, skipping init
06-26 23:33:53.280: D/(1808): HostConnection::get() New Host Connection     established 0xb90f3dc0, tid 1808
06-26 23:33:53.460: I/AndroidInput(1808): sensor listener setup
06-26 23:33:53.550: W/EGL_emulation(1808): eglSurfaceAttrib not implemented
06-26 23:33:53.550: D/OpenGLRenderer(1808): Enabling debug mode 0
06-26 23:33:53.560: D/(1808): HostConnection::get() New Host Connection     established 0xb910b590, tid 1823
06-26 23:33:53.600: W/GL2JNIView(1808): creating OpenGL ES 2.0 context
06-26 23:33:53.800: D/dalvikvm(1808): Trying to load lib /data/app-    lib/com.levellabs.project.android-2/libgdx.so 0xb1fbed48
06-26 23:33:53.800: D/dalvikvm(1808): Shared lib '/data/app-    lib/com.levellabs.project.android-2/libgdx.so' already loaded in same CL     0xb1fbed48
06-26 23:33:53.800: I/GL2(1808): all initialized 2
06-26 23:33:53.800: I/AndroidGraphics(1808): OGL renderer: Android Emulator     OpenGL ES Translator (GeForce GTX 770/PCIe/SSE2)
06-26 23:33:53.800: I/AndroidGraphics(1808): OGL vendor: Google (NVIDIA     Corporation)
06-26 23:33:53.800: I/AndroidGraphics(1808): OGL version: OpenGL ES 2.0 (4.5.0     NVIDIA 350.12)
06-26 23:33:53.800: I/AndroidGraphics(1808): OGL extensions: GL_EXT_debug_marker     GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_depth24 GL_OES_depth32     GL_OES_element_index_uint GL_OES_texture_float GL_OES_texture_float_linear     GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture     GL_OES_depth_texture GL_OES_texture_half_float GL_OES_texture_half_float_linear     GL_OES_packed_depth_stencil GL_OES_vertex_half_float GL_OES_texture_npot     GL_OES_rgb8_rgba8
06-26 23:33:53.800: E/EGL_emulation(1808): [getAttribValue] Bad attribute idx
06-26 23:33:53.800: E/EGL_emulation(1808): tid 1823: eglGetConfigAttrib(605):     error 0x3004 (EGL_BAD_ATTRIBUTE)
06-26 23:33:53.800: E/EGL_emulation(1808): [getAttribValue] Bad attribute idx
06-26 23:33:53.800: E/EGL_emulation(1808): tid 1823: eglGetConfigAttrib(605):     error 0x3004 (EGL_BAD_ATTRIBUTE)
06-26 23:33:53.800: I/AndroidGraphics(1808): framebuffer: (5, 6, 5, 0)
06-26 23:33:53.800: I/AndroidGraphics(1808): depthbuffer: (24)
06-26 23:33:53.800: I/AndroidGraphics(1808): stencilbuffer: (0)
06-26 23:33:53.800: I/AndroidGraphics(1808): samples: (0)
06-26 23:33:53.800: I/AndroidGraphics(1808): coverage sampling: (false)
06-26 23:33:53.810: I/AndroidGraphics(1808): Managed meshes/app: { }
06-26 23:33:53.810: I/AndroidGraphics(1808): Managed textures/app: { }
06-26 23:33:53.810: I/AndroidGraphics(1808): Managed cubemap/app: { }
06-26 23:33:53.810: I/AndroidGraphics(1808): Managed shaders/app: { }
06-26 23:33:53.810: I/AndroidGraphics(1808): Managed buffers/app: { }
06-26 23:33:55.540: I/dalvikvm(1808): Could not find method     aurelienribon.tweenengine.TweenManager.update, referenced from method     com.levellabs.project.GameScreen.render
06-26 23:33:55.540: W/dalvikvm(1808): VFY: unable to resolve virtual method     369: Laurelienribon/tweenengine/TweenManager;.update (F)V
06-26 23:33:55.540: D/dalvikvm(1808): VFY: replacing opcode 0x6e at 0x0008
06-26 23:33:55.540: D/dalvikvm(1808): GC_FOR_ALLOC freed 407K, 14% free     2931K/3392K, paused 2ms, total 2ms
06-26 23:33:55.540: E/dalvikvm(1808): Could not find class     'aurelienribon.tweenengine.TweenManager', referenced from method     com.levellabs.project.GameScreen.show
06-26 23:33:55.540: W/dalvikvm(1808): VFY: unable to resolve new-instance     100     (Laurelienribon/tweenengine/TweenManager;) in Lcom/levellabs/project/GameScreen;
06-26 23:33:55.540: D/dalvikvm(1808): VFY: replacing opcode 0x22 at 0x001e
06-26 23:33:55.540: D/dalvikvm(1808): DexOpt: unable to opt direct call 0x0170     at 0x20 in Lcom/levellabs/project/GameScreen;.show
06-26 23:33:55.540: I/dalvikvm(1808): Failed resolving     Lcom/levellabs/project/tween/SpriteAccessor; interface 98     'Laurelienribon/tweenengine/TweenAccessor;'
06-26 23:33:55.540: W/dalvikvm(1808): Link of class     'Lcom/levellabs/project/tween/SpriteAccessor;' failed
06-26 23:33:55.540: D/dalvikvm(1808): DexOpt: unable to opt direct call 0x345e     at 0x29 in Lcom/levellabs/project/GameScreen;.show
06-26 23:33:55.540: I/dalvikvm(1808): Failed resolving     Lcom/levellabs/project/GameScreen$1; interface 99     'Laurelienribon/tweenengine/TweenCallback;'
06-26 23:33:55.540: W/dalvikvm(1808): Link of class     'Lcom/levellabs/project/GameScreen$1;' failed
06-26 23:33:55.540: D/dalvikvm(1808): DexOpt: unable to opt direct call 0x3434     at 0x54 in Lcom/levellabs/project/GameScreen;.show
06-26 23:33:55.660: D/dalvikvm(1808): GC_FOR_ALLOC freed 71K, 9% free     3192K/3472K, paused 2ms, total 2ms
06-26 23:33:56.120: W/dalvikvm(1808): threadid=11: thread exiting with uncaught     exception (group=0xb1cecb20)
06-26 23:33:56.120: E/AndroidRuntime(1808): FATAL EXCEPTION: GLThread 75
06-26 23:33:56.120: E/AndroidRuntime(1808): Process: com.levellabs.project.android, PID: 1808
06-26 23:33:56.120: E/AndroidRuntime(1808): java.lang.NoClassDefFoundError:     aurelienribon.tweenengine.TweenManager
06-26 23:33:56.120: E/AndroidRuntime(1808):     at com.levellabs.project.GameScreen.show(GameScreen.java:68)
06-26 23:33:56.120: E/AndroidRuntime(1808):     at com.badlogic.gdx.Game.setScreen(Game.java:61)
06-26 23:33:56.120: E/AndroidRuntime(1808):     at com.levellabs.project.Project.create(Project.java:24)
06-26 23:33:56.120: E/AndroidRuntime(1808):     at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphi    cs.java:241)
06-26 23:33:56.120: E/AndroidRuntime(1808):     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1512)
06-26 23:33:56.120: E/AndroidRuntime(1808): at  android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
06-26 23:33:56.130: I/AndroidInput(1808): sensor listener tear down
06-26 23:33:56.130: I/AndroidGraphics(1808): Managed meshes/app: { }
06-26 23:33:56.130: I/AndroidGraphics(1808): Managed textures/app: { }
06-26 23:33:56.130: I/AndroidGraphics(1808): Managed cubemap/app: { }
06-26 23:33:56.130: I/AndroidGraphics(1808): Managed shaders/app: { }
06-26 23:33:56.130: I/AndroidGraphics(1808): Managed buffers/app: { }

【问题讨论】:

    标签: java android libgdx emulation tween


    【解决方案1】:

    我认为您的具有一些本机功能的 jar 文件版本与没有该方法的 libgdx.so 文件版本不匹配。最好使用 Android NDK 编译 c++ libgdx 库以匹配本机函数。我从你的错误中得到了这个

    No JNI_OnLoad found in /data/app-    lib/com.levellabs.project.android-2/libgdx.so 0xb1fbed48, skipping init
    ......
    ......
    Could not find method     aurelienribon.tweenengine.TweenManager.update, referenced from method     com.levellabs.project.GameScreen.render
    

    这意味着一些本地方法没有被 JNI 正确绑定

    如果您在模拟器中运行,则需要相应的 .so 文件和 libgdx.....so 文件

    参考这个Android ndk + libgdx

    如果你想要现成的 JAR 文件和 .so 文件在这里下载http://libgdx.badlogicgames.com/nightlies/dist/

    您可以看到有 11 个 JAR 文件和文件夹,例如 armeabi/ armeabi-v7a/ x86/

    查看 README 文件以了解更多设置需求和编译步骤。

    这里也有成功评论Libgdx tween not working on Android

    您也可以下载 Demo App https://java-universal-tween-engine.googlecode.com/files/tween-engine-demo-6.3.0.zip 并检查其中的 libs 文件夹是否有 JAR 文件

    如果您需要更多帮助,请通过https://chat.stackoverflow.com/rooms/50272/androidians 聊天室联系我,我会帮助您

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-01
      • 2011-03-20
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 2012-09-13
      • 2013-11-18
      • 1970-01-01
      相关资源
      最近更新 更多