javaiosiphonelibgdxrobovm

com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: - Error


I am trying to develop an application in libGDX for iOS.

In my Java class I have written this line

private Texture texture = new Texture(Gdx.files.internal("data/folder_name_1/folder_name_2/abcd.png"));

and my robovm.xml looks like this-

<iosInfoPList>Info.plist.xml</iosInfoPList>
  <resources>
    <resource>
      <directory>../android/assets</directory>
      <includes>
        <include>**</include>
      </includes>
      <skipPngCrush>true</skipPngCrush>
    </resource>
    <resource>
      <directory>data</directory>
    </resource>
  </resources>

When I try to run the code on iOS simulator it runs fine. But when I try to run it on an iOS device i.e. iPhone. It generates an error which looks like this-

com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: data/folder_name_1/folder_name_2/abcd.png

Can someone help me with this ?

Note:- in my iOS project in the data folder, there is another 'data' folder in which there is another folder named 'folder_name_1', then inside it I have 'folder_name_2' folder and inside it I have my png file 'abcd.png'.


Solution

  • You've got the error right in front of you...

     <directory>../android/assets</directory>
    

    the resource you are looking for is NOT in the "data" folder. It's in the "Assets" which is in the android project.

    Also when loading textures you don't need to use a FileHandler.. This would be enough:

    texture = new Texture("image.png");
    

    which would be the root (assets) folder of the android project