Java 读取文件Libgdx时出错

Java 读取文件Libgdx时出错,java,android,libgdx,logcat,Java,Android,Libgdx,Logcat,我有一个应用程序,当我在桌面上运行它时,它的资产很好,并且运行正常。但是,当我尝试在Android(emulator或设备上的apk)上运行它时,它会强制关闭,我会收到日志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:

我有一个应用程序,当我在桌面上运行它时,它的资产很好,并且运行正常。但是,当我尝试在Android(emulator或设备上的apk)上运行它时,它会强制关闭,我会收到日志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
我研究了许多其他类似主题的线程,并尝试了以下内容:

在“资源”下创建数据文件夹 刷新eclipse浏览器 项目>清洁 刷新项目的渐变 三重检查文件路径 重新启动IDE 从资产名称中删除资本(这是一个神话还是一个实际问题?

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

注意-如果我删除此资产并继续,我相信下一个资产也会出现相同的错误

当我尝试使用小写的assert name并在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
11-09 13:51:50.623:E/AndroidRuntime(1118):致命异常:GL81
11-09 13:51:50.623:E/AndroidRuntime(1118):进程:com.mkgame.game1.android,PID:1118
11-09 13:51:50.623:E/AndroidRuntime(1118):com.badlogic.gdx.utils.GdxRuntimeException:无法加载文件:data/play_button2.png
11-09 13:51:50.623:E/AndroidRuntime(1118):位于com.badlogic.gdx.graphics.Pixmap.(Pixmap.java:140)
11-09 13:51:50.623:E/AndroidRuntime(1118):在com.badlogic.gdx.graphics.glutils.FileTextureData.prepare(FileTextureData.java:64)
11-09 13:51:50.623:E/AndroidRuntime(1118):位于com.badlogic.gdx.graphics.Texture.load(Texture.java:130)
11-09 13:51:50.623:E/AndroidRuntime(1118):位于com.badlogic.gdx.graphics.Texture。(Texture.java:121)
11-09 13:51:50.623:E/AndroidRuntime(1118):位于com.badlogic.gdx.graphics.Texture.(Texture.java:100)
11-09 13:51:50.623:E/AndroidRuntime(1118):位于com.badlogic.gdx.graphics.Texture.(Texture.java:92)
11-09 13:51:50.623:E/AndroidRuntime(1118):在com.MKgames.game1.screen.MainMenuScreen.(MainMenuScreen.java:38)
11-09 13:51:50.623:E/AndroidRuntime(1118):在com.MKgames.Game1.create(Game1.java:29)
11-09 13:51:50.623:E/AndroidRuntime(1118):在com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:236)
11-09 13:51:50.623:E/AndroidRuntime(1118):在android.opengl.GLSurfaceView$GLThread.guarderrun(GLSurfaceView.java:1512)
11-09 13:51:50.623:E/AndroidRuntime(1118):在android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
11-09 13:51:50.623:E/AndroidRuntime(1118):由以下原因引起:com.badlogic.gdx.utils.GdxRuntimeException:读取文件时出错:data/play_button2.png(内部)
11-09 13:51:50.623:E/AndroidRuntime(1118):位于com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:77)
11-09 13:51:50.623:E/AndroidRuntime(1118):位于com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:220)
11-09 13:51:50.623:E/AndroidRuntime(1118):位于com.badlogic.gdx.graphics.Pixmap.(Pixmap.java:137)
11-09 13:51:50.623:E/AndroidRuntime(1118):。。。10多
11-09 13:51:50.623:E/AndroidRuntime(1118):由以下原因引起:java.io.FileNotFoundException:data/play_button2.png
11-09 13:51:50.623:E/AndroidRuntime(1118):在android.content.res.AssetManager.openAsset(本机方法)
11-09 13:51:50.623:E/AndroidRuntime(1118):在android.content.res.AssetManager.open(AssetManager.java:316)
11-09 13:51:50.623:E/AndroidRuntime(1118):位于android.content.res.AssetManager.open(AssetManager.java:290)
11-09 13:51:50.623:E/AndroidRuntime(1118):位于com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:75)
11-09 13:51:50.623:E/AndroidRuntime(1118):。。。还有12个

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

所以,如果你已经实现了Google Play服务,试着删除它,看看是否有效。 然后以正确的方式将其添加到项目中


希望这有帮助

尝试刷新中的资产文件夹eclipse@donfuxx我已经试过了,没有改变。最后看我的答案
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