我最近发现android将忽略以_
开头的资产文件夹,而aaptOptions { ignoreAssetsPattern }
可用于覆盖资产文件夹。
我在Google周围搜索,发现了这样的示例
aaptOptions {
ignoreAssetsPattern '!.svg:!.woff:!.jpg:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~'
}
我假设对单个文件执行此操作?但是我想澄清一下是否可以将_next
资产文件夹中的所有文件都包括在内,而不是指定每个文件?
如果不是,您能否澄清!.svg
和!*.scc
之间的区别以及!*~
到底意味着什么?
答案 0 :(得分:1)
ignoreAssetsPattern仅记录在sources中,如果您使用构建工具通过选项--ignore-asset
进行编译,则只有默认值,并且默认模式为:>
!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~
该格式的规则如下:
* Patterns syntax:
* - Delimiter is :
* - Entry can start with the flag ! to avoid printing a warning
* about the file being ignored.
* - Entry can have the flag "<dir>" to match only directories
* or <file> to match only files. Default is to match both.
* - Entry can be a simplified glob "<prefix>*" or "*<suffix>"
* where prefix/suffix must have at least 1 character (so that
* we don't match a '*' catch-all pattern.)
* - The special filenames "." and ".." are always ignored.
* - Otherwise the full string is matched.
* - match is not case-sensitive.
因此,要回答所有问题,!.svg
和!*.scc
之间的区别是,第一个将忽略名为“ .svg”的文件或文件夹的资产模式,但是第二个一种,将忽略所有扩展名为.scc的文件或文件夹的资产模式,!*~
的意思是忽略所有末尾带有符号〜的文件或文件夹
适合您的情况的配置将是:
aaptOptions {
ignoreAssetsPattern '!_*'
}
因此它将忽略所有以“ _”开头的文件和文件夹的资产模式