簡體   English   中英

FileNotFoundException Android logcat錯誤

[英]FileNotFoundException Android logcat errors

當我測試桌面版本時,我的游戲可以正常運行,但是當我啟動一個android模擬器並嘗試在該模擬器上運行該游戲時,該游戲關閉並且出現logcat錯誤:

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

我知道該錯誤很明顯找不到該文件,但是應該是因為它的位置很好,並且當我將其作為桌面應用程序運行時,該文件也很好(我將所有桌面資產都復制到了android資產中,它們完全一樣)。 那么問題可能是什么呢?

這是我設置圖像的位置:

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

您應該在這里看看並按照以下說明進行操作: https : //github.com/libgdx/libgdx/wiki/Manual-project-setup#asset-folder-setup

Android項目有一個名為Assets的子文件夾,該文件夾是自動創建的。 Android應用程序可用的文件必須放在此處。 這是有問題的,因為這些相同的文件必須對桌面應用程序可用。 不應將桌面項目配置為在Android項目中查找資產,而不是維護所有文件的兩個副本[...]

資源將查找資產文件夾,如果沒有,則從那里找到一些資源,如圖1所示,

在此處輸入圖片說明

如果在文件夾圖片2中,則在更多文件夾中而不使用絕對路徑!

在此處輸入圖片說明

編輯:順便說一下,您的圖片就是圖片,很好,我的意思是您可以使用其他程序打開,而不是損壞該圍欄

在此處輸入圖片說明 您的錯誤是在草稿中您有android,因為yourpicture.png是Windows快捷方式或指向照片的鏈接,刪除並復制照片而沒有鏈接,如果您確實要按拖動的話,我認為Windows控件也是要復制的

確保將圖像放置在正確的位置。 將圖像拖到資產文件夾中,然后應該有一個默認數據文件夾,將圖像拖到數據文件夾中。 代碼中的下一個

Texture playButtonTxture =新Texture(Gdx.files.internal(“ playButton2.png”));

現在應該是

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

這只是指向圖像的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM