Android资产文件夹为空。

5
我想列出资产文件夹中的文件和文件夹,但我发现它是空的。我在Google、StackOverflow等网站上搜索了答案,但没有帮助。
我尝试了许多使用AssetManager的方法,唯一一个给出一些输出的是:
getAssets().list("/");
但它列出的资产文件夹是空的...
我从Eclipse运行应用程序(设备连接到USB)。有人能告诉我我做错了什么吗?我有种感觉打开的资产文件夹不是来自我的应用程序...
提前感谢!

你确定项目中有/assets文件夹吗? - Andrew T.
是的,我确定,它不是空的。 - ehrid
我甚至在assets / font / font.tif中添加了字体,并使用TypeFace加载它,但仍然发现assets文件夹是空的。 - ehrid
你解决了这个问题吗? - fabian789
4个回答

5
我使用getAssets().list("/");并返回应用程序根目录中文件的列表:
D/        (25498): Listing files in /
D/        (25498): AndroidManifest.xml
D/        (25498): META-INF
D/        (25498): assets
D/        (25498): classes.dex
D/        (25498): lib
D/        (25498): res
D/        (25498): resources.arsc

我尝试列出"/assets",但它总是为空的。后来我发现需要使用相对路径,不能使用/代表根文件夹。

getAssets().list("");列出了assets文件夹根目录下的文件。


0

试试这个:

AssetManager assetManager = appContext.getAssets();
String[] filelist = assetManager.list("");

0
你可以通过以下方式获取资产文件:
try {
    Resources res = getResources();
    AssetManager am = res.getAssets();
    String fileList[] = am.list("/");
} catch (IOException e) {
    e.printStackTrace();
}

是的,我也尝试过这个。我尝试了在谷歌上找到的所有与AssetManager相关的方法。 - ehrid

0

我看到你在使用Eclipse,我转换到了Android Studio但是遇到了同样的问题。比较了很多答案后,我找到了这个解决方法:

https://dev59.com/pmIk5IYBdhLWcg3wfOOe#33542563

资产文件夹位于 res 文件夹的“旁边”(在 AS 中,甚至有一个向导)。我手动将其放入 res 文件夹中,这就是为什么资产文件夹消失/未编译到 apk 中的原因!如果这是由您在 Eclipse(ADT)中使用的构建工具完成的,则可能会遇到相同的情况。

assets not inside but parallel to res folder


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