Gradle添加时间戳以构建失败(找不到.apk)

时间:2017-03-17 05:21:08

标签: android gradle timestamp

抬头,傻瓜! :)我的配置:

def getDate() {
    def date = new Date()
    def formattedDate = date.format('_yyyy-MM-dd-hh-mm-ss')
    return formattedDate
}

...

fileName = fileName.replace("release", 
    "release" + "-" + defaultConfig.versionName + getDate());

...

gradle很好,只有getDate()导致问题:

  

" m104-release-0.2.9_2017-03-17-06-10-14.apk在磁盘上不存在。"

有没有机会用临时文件(或其他东西)来解决这个问题? A"解决方案"将只返回_yyyy-MM-dd-hh-mm(没有秒),但如果我开始构建 06:10: 58 构建也会失败..

1 个答案:

答案 0 :(得分:1)

你可以尝试这种方法,让我知道它是否有效

def versionMajor = 3

def buildTime() {
    def df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'") // you can change it
    df.setTimeZone(TimeZone.getTimeZone("UTC"))
    return df.format(new Date())
}

还有一个解决方案 您可以在build.gradle中定义自定义函数和变量。

android {
    defaultConfig {
       versionName "${versionMajor}-beta-build-${buildTime()}"
    }
}

然后你可以使用它:

beta {
    versionNameSuffix "-beta-build-${buildTime()}"      
}

或者如果你想在你的versionNameSuffix

中添加它
    outfile1 = open("boynames2014.txt", "w")
    outfile2 = open("girlnames2014.txt", "w")
    with open('babynames2014.txt') as infile:
        for line in infile:
            datafield = line.split()
            boyname2014 = datafield[0]
            girlname2014 = datafield[1]
            outfile1.write(boyname2014)
            outfile2.write(girlname2014)
    outfile1.close()
    outfile2.close()