我正在使用 gradle 构建一个 android 应用程序。我正在将几个文件和文件夹复制到 Assets 文件夹。我现在遇到了问题,有些文件的文件名可能太长,文件夹也是如此(aapt 无法处理超过 100 个字符的文件名)。
因此我在复制操作期间重命名文件,如下所示:
copy {
from('A')
into('B')
rename ('too-long-filename', 'shorter-filename')
rename ('too-long-directoryname', 'shorter-directoryname')
}
但是,这对文件有效但对目录无效。使用gradle复制时是否有特殊命令实现重命名?
错误说:
错误代码: 1个 输出: /home/curiosity/AndroidStudioProjects/App/build/..目录名称太长../: 错误:目录名称无效,无法添加。
最佳答案
您可以尝试 FileTree 访问,但您必须保存目录,在遍历时不能更改这些目录。如果你只想缩短名称,可能可以使用常规子字符串表示法 longname[0..-10]
类似于:
def dirs = []
fileTree("./longdirectoryname").visit { FileVisitDetails details ->
if (!details.isDirectory()) {
// rename
} else {
dirs.add(details.file)
}
}
dirs.each { // rename directories here }
关于android - 使用 Gradle 在复制期间重命名目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29901091/