【问题标题】:Error reading file Libgdx Android读取文件 Libgdx Android 时出错
【发布时间】:2014-11-09 20:43:56
【问题描述】:

我有一个应用程序,当我在桌面上运行它时,资产很好,它运行正常,但是当我尝试在 Android(模拟器或设备上的 apk)上运行它时,它会强制关闭,我得到 log cat 错误:

11-08 15:37:04.556: E/AndroidRuntime(1187): FATAL EXCEPTION: GLThread 90
11-08 15:37:04.556: E/AndroidRuntime(1187): Process: com.mkgame.game1.android, PID: 1187
11-08 15:37:04.556: E/AndroidRuntime(1187): com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: data/playButton2.png
11-08 15:37:04.556: E/AndroidRuntime(1187):     at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at com.badlogic.gdx.graphics.glutils.FileTextureData.prepare(FileTextureData.java:64)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at com.badlogic.gdx.graphics.Texture.load(Texture.java:130)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:121)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:100)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:92)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at com.MKgames.game1.screen.MainMenuScreen.<init>(MainMenuScreen.java:38)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at com.MKgames.Game1.create(Game1.java:29)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:236)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1512)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
11-08 15:37:04.556: E/AndroidRuntime(1187): Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Error reading file: data/playButton2.png (Internal)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:77)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:220)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:137)
11-08 15:37:04.556: E/AndroidRuntime(1187):     ... 10 more
11-08 15:37:04.556: E/AndroidRuntime(1187): Caused by: java.io.FileNotFoundException: data/playButton2.png
11-08 15:37:04.556: E/AndroidRuntime(1187):     at android.content.res.AssetManager.openAsset(Native Method)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at android.content.res.AssetManager.open(AssetManager.java:316)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at android.content.res.AssetManager.open(AssetManager.java:290)
11-08 15:37:04.556: E/AndroidRuntime(1187):     at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:75)
11-08 15:37:04.556: E/AndroidRuntime(1187):     ... 12 more

这里是我设置资产的地方:

Texture playButtonTxture = new Texture(Gdx.files.internal("data/playButton2.png"));

我查看了许多其他类似主题的主题,并尝试了以下方法:

在资产下创建数据文件夹 刷新 eclipse 资源管理器 项目 > 清洁 刷新项目的gradles 三重检查文件路径 重新启动 IDE 从资产名称中删除大写字母(这是神话还是实际问题?)

资产在正确名称的android资产下的data文件夹中,我尝试了多种不同的解决方案组合。

注意 - 如果我要删除此资产并继续前进,我相信我会在下一个资产中遇到同样的错误。

当我尝试使用小写的断言名称并更改 android/asset/data 文件夹和游戏中的资产名称时,我得到了同样的错误:

11-09 13:51:50.623: E/AndroidRuntime(1118): FATAL EXCEPTION: GLThread 81
11-09 13:51:50.623: E/AndroidRuntime(1118): Process: com.mkgame.game1.android, PID: 1118
11-09 13:51:50.623: E/AndroidRuntime(1118): com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: data/play_button2.png
11-09 13:51:50.623: E/AndroidRuntime(1118):     at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at com.badlogic.gdx.graphics.glutils.FileTextureData.prepare(FileTextureData.java:64)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at com.badlogic.gdx.graphics.Texture.load(Texture.java:130)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:121)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:100)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:92)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at com.MKgames.game1.screen.MainMenuScreen.<init>(MainMenuScreen.java:38)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at com.MKgames.Game1.create(Game1.java:29)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:236)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1512)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
11-09 13:51:50.623: E/AndroidRuntime(1118): Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Error reading file: data/play_button2.png (Internal)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:77)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:220)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:137)
11-09 13:51:50.623: E/AndroidRuntime(1118):     ... 10 more
11-09 13:51:50.623: E/AndroidRuntime(1118): Caused by: java.io.FileNotFoundException: data/play_button2.png
11-09 13:51:50.623: E/AndroidRuntime(1118):     at android.content.res.AssetManager.openAsset(Native Method)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at android.content.res.AssetManager.open(AssetManager.java:316)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at android.content.res.AssetManager.open(AssetManager.java:290)
11-09 13:51:50.623: E/AndroidRuntime(1118):     at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:75)
11-09 13:51:50.623: E/AndroidRuntime(1118):     ... 12 more

【问题讨论】:

标签: java android libgdx logcat


【解决方案1】:

当我以错误的方式实现 Google Play 服务库时,我遇到了类似的问题。 它还包含一个资产文件夹,我的 Android 项目以某种方式链接到该文件夹​​。

因此,如果您实施了 Google Play 服务,请尝试将其删除,看看是否可行。 然后以正确的方式将其添加到项目中。

希望这会有所帮助!

猜你喜欢
  • 2016-05-27
  • 2015-10-13
  • 2018-07-03
  • 2012-02-12
  • 2013-09-26
  • 1970-01-01
  • 2014-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多