Gradle跳过任务X,因为它没有源文件

时间:2013-10-06 20:42:12

标签: android gradle

我创建了一个编译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)
}

我遇到的问题是它跳过了这个任务,说“跳过任务':HexPath-android:copyBundle',因为它没有源文件。

关于我做错的任何想法?

from文件夹是正确的,有几个.apks。 包含文件名是正确的。 运行脚本时输出文件夹不存在。 重命名是有效的文件名。

1 个答案:

答案 0 :(得分:0)

你说该文件夹有几个APK文件,但在这里你只包含一个可能的文件,必须命名为'HexPath-android-release.apk'。你有这个档案吗?

如果您希望每次都复制这一个文件,那么我建议将结尾重写为以下内容:

from('HexPath-android/build/apk/HexPath-android-release.apk') {
    rename { outpuFile }
}
into('output/android/')

但是如果你想要复制多个文件,那么修改你的'include'段以获得一些通配符,并且可以创建一个闭包来创建它们的输出名称。希望这会有所帮助。

另外,不是HexPath-android项目本身。路径不应该从'build ...'开始吗?

相关问题