打包“隐藏”资产文件

时间:2010-06-09 14:41:10

标签: android hidden assets aapt

我将文件'.nomedia'放入文件夹中,以避免Android的MediaScanner检测到文件夹中的媒体文件。我需要将此文件夹(包括“.nomedia”)从APK的资产复制到SD卡(以便其他应用程序可以使用这些媒体文件等)。当我在Eclipse中打包APK时,它不打包'.nomedia'文件。据推测,它将其检测为隐藏文件。任何想法如何解决这一问题?我可以用一个秘密的标志吗?我想避免复制文件夹,然后手动创建'.nomedia'文件夹,如果可能的话。

2 个答案:

答案 0 :(得分:8)

我知道这是在提出问题几年之后,但我遇到了这个问题,我自己也在寻找相同的问题,并发现了适用于我的解决方案,所以我想我会发布它:

在项目的“ant.properties”文件中(如果没有,请创建一个新文件)添加以下两行:

# DO NOT ignore the .nomedia file in the assets directory!
aapt.ignore.assets="!.svn:!.git:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"

这将从默认排除列表中删除“。*”,因此.nomedia现在将包含在.APK内的assets目录中。

答案 1 :(得分:1)

资产被编译到应用程序中,你无法通过文件浏览器看到它们。您必须从代码访问此文件夹,然后在首次启动或安装应用程序时将其复制到文件系统。看一下这个例子,它讨论了一个数据库文件,但一般来说,你想对你放入资产的任何文件做同样的事情,并希望转移到文件系统:

http://www.helloandroid.com/tutorials/how-have-default-database