【问题标题】:Libgdx Game Crashes on Android PhoneLibgdx 游戏在 Android 手机上崩溃
【发布时间】:2014-04-03 15:18:08
【问题描述】:

我创建了一个示例游戏,它可以在桌面上完美运行,但在 android 手机上会因以下错误而崩溃。

**Unfortunately, My LibGDX Game has stopped.**

我已经用两部不同的手机甚至模拟器进行了测试,但错误仍然是一样的。以下是 Android 版本的项目属性。

LogCat 是(带错误过滤器):

04-03 21:55:41.582: E/Trace(20583): error opening trace file: No such file or directory (2)
04-03 21:55:42.022: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[Defaults/Video:MaxWidth] = 1920
04-03 21:55:42.022: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[DivXs/Video:MaxWidth] = 1920
04-03 21:55:42.022: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[Rtsps/UserAgent:Default] = Player/LG Player 1.0 for Android(stagefright alternative)
04-03 21:55:42.022: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[Https/Streaming:PowerSave] = true
04-03 21:55:42.022: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] PlayerManager.GetPlayerType = 3
04-03 21:55:42.042: E/MetadataRetrieverClient(224): failed to extract an album art
04-03 21:55:42.052: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[Defaults/Video:MaxWidth] = 1920
04-03 21:55:42.052: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[DivXs/Video:MaxWidth] = 1920
04-03 21:55:42.052: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[Rtsps/UserAgent:Default] = Player/LG Player 1.0 for Android(stagefright alternative)
04-03 21:55:42.052: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[Https/Streaming:PowerSave] = true
04-03 21:55:42.052: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] PlayerManager.GetPlayerType = 3
04-03 21:55:42.073: E/MetadataRetrieverClient(224): failed to extract an album art
04-03 21:55:42.543: E/AndroidRuntime(20583): FATAL EXCEPTION: GLThread 666
04-03 21:55:42.543: E/AndroidRuntime(20583): com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: images/smountains.png
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.graphics.glutils.FileTextureData.prepare(FileTextureData.java:64)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.graphics.Texture.load(Texture.java:175)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.graphics.Texture.create(Texture.java:159)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:133)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:122)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.shoayb.defendearth.view.WorldRenderer.loadTextures(WorldRenderer.java:77)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.shoayb.defendearth.view.WorldRenderer.<init>(WorldRenderer.java:67)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.shoayb.defendearth.screens.GameScreen.show(GameScreen.java:15)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.Game.setScreen(Game.java:59)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.shoayb.defendearth.DefendEarth.create(DefendEarth.java:8)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:292)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1505)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
04-03 21:55:42.543: E/AndroidRuntime(20583): Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Error reading file: images/smountains.png (Internal)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:67)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.files.FileHandle.length(FileHandle.java:561)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.backends.android.AndroidFileHandle.length(AndroidFileHandle.java:149)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:221)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:137)
04-03 21:55:42.543: E/AndroidRuntime(20583):    ... 13 more
04-03 21:55:42.543: E/AndroidRuntime(20583): Caused by: java.io.FileNotFoundException: images/smountains.png
04-03 21:55:42.543: E/AndroidRuntime(20583):    at android.content.res.AssetManager.openAsset(Native Method)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at android.content.res.AssetManager.open(AssetManager.java:315)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at android.content.res.AssetManager.open(AssetManager.java:289)
04-03 21:55:42.543: E/AndroidRuntime(20583):    at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:65)
04-03 21:55:42.543: E/AndroidRuntime(20583):    ... 17 more
04-03 21:55:43.324: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[Defaults/Video:MaxWidth] = 1920
04-03 21:55:43.324: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[DivXs/Video:MaxWidth] = 1920
04-03 21:55:43.324: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[Rtsps/UserAgent:Default] = Player/LG Player 1.0 for Android(stagefright alternative)
04-03 21:55:43.324: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[Https/Streaming:PowerSave] = true
04-03 21:55:43.324: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] PlayerManager.GetPlayerType = 3
04-03 21:55:43.354: E/MetadataRetrieverClient(224): failed to extract an album art
04-03 21:55:43.364: E/MessageUtils(12466): [LGE]isMmsMemoryAvailable/freeSpace:6233837568/threshold:2097152
04-03 21:55:43.404: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[Defaults/Video:MaxWidth] = 1920
04-03 21:55:43.404: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[DivXs/Video:MaxWidth] = 1920
04-03 21:55:43.404: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[Rtsps/UserAgent:Default] = Player/LG Player 1.0 for Android(stagefright alternative)
04-03 21:55:43.404: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] GetPlayerSetup[Https/Streaming:PowerSave] = true
04-03 21:55:43.404: E/MediaPlayerService(224): [MediaPlayerService getPlayerType:fd] PlayerManager.GetPlayerType = 3
04-03 21:55:43.434: E/MetadataRetrieverClient(224): failed to extract an album art

【问题讨论】:

  • 你能发布一个堆栈跟踪吗?
  • 文件images/smountains.png在哪里?
  • 打包“文件”以供 Android 应用程序在运行时访问有点棘手。您需要指定您尝试将其放置的位置,并将代码发布到您告诉 Libgdx 尝试使用它的位置
  • 显示加载images/smountains.png的行并显示文件在你的android项目中的位置。
  • 它位于./assets/images/,访问的行是sMountainTexture=new Texture(Gdx.files.internal("images/smountains.png"));

标签: android libgdx runtime-error game-engine


【解决方案1】:

谢谢大家:) 问题已解决。其实文件名是

“smountains.PNG”

在主 libgdx 项目中,我使用了带有

的语法

sMountainTexture=new Texture(Gdx.files.internal("images/smountains.png"));

“png”和“PNG”大小写的区别在桌面项目中无关紧要,但在 Android 版本中被视为错误。再次感谢大家的帮助。

【讨论】:

    猜你喜欢
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    相关资源
    最近更新 更多