Gradle的distZip任务创建一个具有以下结构的zip
MyApp.zip
`-- MyApp
|-- bin
| |-- ...
`-- lib
|-- ...
Run Code Online (Sandbox Code Playgroud)
如何跳过父目录,只需压缩下面的文件
MyApp.zip
|-- bin
| |-- ...
`-- lib
|-- ...
Run Code Online (Sandbox Code Playgroud)
默认情况下这是不可能的,但是可以传输所有文件,这些文件将包含在最终的zip中,并在此zip文件中修改它的目标路径,如下所示:
distZip {
eachFile { file ->
String path = file.relativePath
file.setPath(path.substring(path.indexOf("/")+1,path.length()))
}
}
Run Code Online (Sandbox Code Playgroud)
这是distZip添加的附加任务配置,它修改最终zip-archive中每个文件的目标路径,从中删除根文件夹.在您的情况下,它将MyApp从zip中删除该文件夹.
在分发块中,您可以定义文件应存放在存档中的位置。(来自 Kotlin DSL 的示例)
distributions {
main {
contents {
into("/")
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1344 次 |
| 最近记录: |