Gdx.files.internal不使用Android资产路径

3
每当我试图使用Gdx.files.internal获取FileHandle时,都会收到如下所示的FileNotFoundException:
    <PATH TO MY GAME>\desktop\xml\screen.xml (The system cannot find the path specified)

我使用libgdx项目设置工具搭建了我的项目,看起来我的桌面项目中的资源文件夹和Android项目中的相同(它们是链接的)。但是,当我进入我的桌面项目时,会出现一个带有资产的bin文件夹。如果我将路径更改为"/ bin / ...",那么我可以运行项目而不会出现任何异常。但是,如果我导出为JAR文件,这可能会成为一个问题。
代码:
    final FileHandle screenXML = Gdx.files.internal("xml/screen.xml");

files


你需要将所有东西放在Android项目的assets文件夹中。你将使用gradle来打包你的jar文件,并将它们放在正确的位置。 - noone
我已添加了一张图片以显示我的资源文件夹已链接(即我将所有内容放在了我的Android项目的asset文件夹中)。 - user2303325
同样的问题在这里,我很想找到答案。这只发生在我更新到最新的夜间版本之后(上周)。 - Don
2
我已经添加了我的答案。它可能与我的问题太本地化,但请确保您未使用“.file()”函数,如果是这样,请改用.read()。 - user2303325
1个回答

2

我的问题源于以下内容(感谢Libgdx的出色和耐心的IRC社区成员):

    // final Document screenDoc = docBuilder.parse(screenXML.file());
    // Note: MUST use .read() here, not .file(), as we link from the android assets!
    final Document screenDoc = docBuilder.parse(screenXML.read());

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接