【发布时间】: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