android - 使用 Gradle 在复制期间重命名目录

标签 android gradle

我正在使用 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/

相关文章:

java - Android onCreate 在手机重启后调用两次,使fragment停止工作

android - 无法在Android Studio中运行应用

android-studio - 如何通过Android Studio项目同步自定义编译参数?

android - PackageParserException : Package . ..base.apk 在条目 AndroidManifest.xml 中没有证书

Android Firebase 推送通知空白(无文本)

android - Gradle:保存属性文件

Android ContextMenu 如何设置TextColor 和背景颜色?

android - HTML 5 应用程序将文件下载到与应用程序相同的目录

java - 更新 gradle 包装文件会产生不同的结果

kotlin - Android Studio:Gradle同步失败:无法下载修补程序