我创建了一个编译Android项目的gradle.build.它正在生成正确的APK,并且作为后期构建步骤,我想将它们复制到另一个具有更有意义名称的文件夹中.
我写了这个任务来实现这个目的:
task copyBundle(type: Copy) {
def versionCode = android.defaultConfig.versionCode
def buildDate = new Date().format("yyyy-MM-dd'T'HH-mm")
def outputFile = 'HexPath-android-release-' + buildDate + '-' + versionCode + '.apk'
println "Copying file to " + outputFile
from('HexPath-android/build/apk/')
into('output/android/')
include('HexPath-android-release.apk')
rename ('HexPath-android-release.apk', outputFile)
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是它跳过这个任务说"跳过任务':HexPath-android:copyBundle',因为它没有源文件.
关于我做错了什么的任何想法?
from文件夹是正确的,有几个.apks.包含文件名是正确的.运行脚本时输出文件夹不存在.重命名是有效的文件名.
小智 0
您说该文件夹有多个 APK 文件,但在这里您只包含一个可能的文件,该文件必须准确命名为“HexPath-android-release.apk”。你那里有这个文件吗?
如果您希望每次都复制这个文件,那么我建议将末尾重写为如下内容:
from('HexPath-android/build/apk/HexPath-android-release.apk') {
rename { outpuFile }
}
into('output/android/')
Run Code Online (Sandbox Code Playgroud)
但是,如果您想要复制多个文件,请修改您的“include”段以包含一些通配符,并可能创建一个闭包来创建它们的输出名称。希望这可以帮助。
另外,HexPath-android 不是项目本身吗?路径不应该从“build...”开始吗?