如何以编程方式访问Android中的apk生成时间?

时间:2018-07-16 08:16:00

标签: android gradle build.gradle dynamically-generated build-time

是否可以通过编程方式获取APK的生成时间?

我想在构建时间上显示它,以进行构建标识。

我知道我可以在gradle文件中对时间字符串进行硬编码,并按照this的答案在我的Kotlin代码中访问它们,但这意味着每次我重新输入字符串时, -生成构建。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

我在build.gradle文件中编写了以下代码来实现这一目标

android {
    buildTypes {
        debug {
            buildConfigField "String", "BUILT_ON", "\"${getBuildDateTime()}\""
        }
    }
}

static def getBuildDateTime() {
    return "Build Generated On: ${new Date().format("dd MMMM, 2018 @ h:mma")}"
}

现在我可以在“活动”中访问此变量了

Log.d(BuildConfig.BUILT_ON);

答案 1 :(得分:0)

您可以在项目的 defaultConfig 中使用此代码来设置应用程序的构建时间。

setProperty("archivesBaseName", "Application_Name_$versionName.$versionCode" + "_" + getDate())

static def getDate() {
def date = new Date()
def formattedDate = date.format('yyyy-MMM-dd_EEE_HH.mm')
return formattedDate
}