【问题标题】:Gradle add timestamp to build fails (.apk not found)Gradle 添加时间戳以构建失败(.apk 未找到)
【发布时间】:2017-03-17 05:21:08
【问题描述】:

请注意,毕业大师! :) 我的配置:

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 在磁盘上不存在。”

是否有机会使用临时文件(或其他文件)解决此问题?一个“解决方案”将只是返回_yyyy-MM-dd-hh-mm(没有秒),但如果我开始构建 06:10:58构建也会失败..

【问题讨论】:

    标签: android gradle timestamp


    【解决方案1】:

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

    def getDate() {
        new Date().format('yyyyMMddHHmmss')
    }
    

    另一种解决方案是 您可以在 build.gradle 中定义自定义函数和变量。

    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())
    }
    

    然后就可以使用了:

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

    或者如果你想在你的 versionNameSuffix 中添加它

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

    【讨论】:

      猜你喜欢
      • 2019-01-05
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多