【发布时间】:2016-09-13 18:57:05
【问题描述】:
我在我的资产文件夹中包含了几个预制的 .png 文件,但只有其中一些文件没有错误地通过:
AssetManager assetManager = context.getAssets();
Inputstream in = assetManager.open(assetName);
其中assetName 是String,其中包含类似“myPic.png”的内容。
它似乎适用于某些文件,但对于其他文件,它会抛出 java.io.FileNotFoundException: myPic.png,即使我在 Assets 文件夹中看到它与许多其他似乎正在削减的文件一起。
【问题讨论】:
-
查看 APK 本身并查看资产是否存在。 APK 只是一个 ZIP 样式的存档,因此有很多工具可以让您检查其中的内容。
-
@CommonsWare 不,这些资产不在 APK 中,但这是可以预见的,因为首先由于某种原因找不到它们
-
资产中有子文件夹吗?
-
不,都在同一个文件夹中。所有资产都集中在
AndroidStudioProjects/MyAppName/app/src/main/assets/ -
“这是可以预见的”——不一定。 APK 可能拥有这些资产,但
AssetManager出于某种原因不允许访问它们。但是,由于缺少资产,问题出在您的构建过程中。如果没有minimal reproducible example,那将很难调试。您可以考虑在某处发布您的assets/内容的屏幕截图,从您的问题中链接到它,然后向我们提供 APK 中实际存在和不存在的内容的名单。
标签: java android file android-studio assets